Junit原始碼解析總結

2021-07-10 09:52:23 字數 1873 閱讀 4368

前面的部落格我們也已經整理到了,我們使用junit38,在寫

測試類的時候我們的測試類必須繼承testcase。這個所有測試類的父類在junit.framework包下面。

前面我們的整理都是說直接在ide中直接執行測試類,右擊然後run as junit。當然我們還可以自己寫main方法來執行測試,其實都一樣。

ok,現在我們來寫乙個例子,直接執行測試類的main方法來跑測試。**如下:

package org.linkinpark.commons.textui;

import org.linkinpark.commons.framework.testcase;

import org.linkinpark.junit.assert;

/**

* @功能描述: 寫乙個測試類,用main方法來驅動測試。

*/

public class linkintest2 extends testcase

/**

* @功能描述: 呼叫testrunner來run測試。

*/

public static void main(string args)

}

我們來自己寫的測試類上的乙個測試方法打乙個斷點,然後看下eclipse中junit方法呼叫的情況。

ok,上面的2張圖很直接了說明了測試開始到測試方法真正被執行的所有的過程,我在這裡也不做贅述了。之後的結果收集,無疑就是在每個測試類中傳遞乙個testresult類,通過printerwriter來列印日誌而已,這裡也不在贅述了。

在前面的演示junit原始碼過程中,我自己也修改了好多的控制台輸出。最後這裡寫2個測試例子,來一起看下控制台的輸出,整體回顧下junit的整個測試過程好了。

2個測試類**如下:

package org.linkinpark.commons.textui;

import org.linkinpark.commons.framework.testcase;

import org.linkinpark.junit.assert;

public class linkintest1 extends testcase

public void setup()

public void teardown()

public void testlinkin4normal()

public void testlinkin8error()

}

package org.linkinpark.commons.textui;

import org.linkinpark.commons.framework.testcase;

import org.linkinpark.junit.assert;

public class linkintest1 extends testcase

public void testlinkin()

}

package org.linkinpark.commons.textui;

import org.linkinpark.commons.framework.test;

import org.linkinpark.commons.framework.testcase;

import org.linkinpark.commons.framework.testsuite;

public class linkintestall extends testcase

public static void main(string args)

}

Junit 原始碼解析(二)

這裡對blockjunit4classrunner中幾個跟寫單元測試最相關的幾個方法進行分析 1 構造方法 public blockjunit4classrunner class klass throws initializationerror作用 是取得類的聲名描述,即class klass 2 ...

Junit 原始碼解析(一)

junit 原始碼解析 一 之junit執行容器 package org.junit.runner public abstract class runner implements describable runner是junit的執行容器,它是各種junit執行容器的父類。我們可以把它理解成web容...

JUnit原始碼分析

junit junit原始碼學習和經驗分享。源 裡沒有密碼,好多開源框架都出自大牛大師之手,是學習的好例子,可惜自己沒啥耐心去看,網上搜尋到牛人解析,記錄下來,學習學習。深入junit原始碼之runner 深入junit原始碼之statement 深入junit原始碼之rule 深入junit原始碼...