特點:
-
JUnit 是一個開放的資源框架,用於編寫和運行測試。
-
提供註釋來識別測試方法。
-
提供斷言來測試預期結果。
-
提供測試運行來運行測試。
-
JUnit 測試允許你編寫代碼更快,並能提高質量。
-
JUnit 優雅簡潔。沒那麼複雜,花費時間較少。
-
JUnit 測試可以自動運行並且檢查自身結果並提供即時反饋。所以也沒有必要人工梳理測試結果的報告。
-
JUnit 測試可以被組織爲測試套件,包含測試用例,甚至其他的測試套件。
-
JUnit 在一個條中顯示進度。如果運行良好則是綠色;如果運行失敗,則變成紅色。
-
JUnit測試減少後期維護時間以及成本
導入JUnit4單元測試所需的jar包
打開開發工具 eclipse|myeclipse -> 對應項目右擊 > Build Path > Add Library > JUnit
> 選擇版本JUnit4 > Finish
單元模塊測試——單個類
1、使用@Test註解
例子:
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class Test01
{
final static String CH = "中國";
@Test
//(命名格式建議用test+方法名)
public void testCode()
throws Exception
{
assertEquals("中國", CH);
}}
2、extend TestCase類
例子:
import junit.framework.TestCase;
public class Test01 extends TestCase
{
final static String CH = "中國";
//(命名格式建議用test+方法名) //繼承TestCase,如命名方法沒有test作爲前綴則報錯
public void testCode()
throws Exception
{
assertEquals("中國", CH);
}}
單元模塊測試——多個類
3、使用JUnitCore.runClasses(StudentTest01.class)返回Result類型;
調用for (Failure failure : result.getFailures())進行遍歷
例子:
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class TestRunner
{public static void main(String[] args)
{
// TODO Auto-generated method stub
Result result = JUnitCore.runClasses(StudentTest01.class);
for (Failure failure : result.getFailures())
{
System.out.println(failure.toString());
}
// 測試過程中是否成功
System.out.println(result.wasSuccessful());
}
}4、使用註解 @RunWith、@Suite.SuiteClasses
例子:
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({
//測試類作爲參數,多個參數用逗號隔開
StudentTest01.class, StudentTest02.class})
public class AllTest
{ }5、使用TestSuite類中的addTestSuite添加測試類、run(new TestResult())運行測試類
例子:
import junit.framework.TestResult;
import junit.framework.TestSuite;
public class AllTest
{
public static void main(String[] args)
{
TestSuite testSuite = new TestSuite();
testSuite.addTestSuite(StudentTest01.class);
testSuite.addTestSuite(StudentTest02.class);
testSuite.run(new TestResult());
}}