基本用法是
1、import junit 包
2、定義一個測試類,最好以test開頭,以方便ide自動搜索測試,測試類繼承自TestCase,然后在里面寫自己的test 方法,測試代碼主要是運行類的各種方法,并用assert判斷是否與預期相同。核心的assert 方法有
assertTrue ,assertFalse,assertNull,assertNotNull,assertSame,assertNotSame,assertEquals,還有一個fail直接寫fail(),就會提示測試失敗。
public class testMath extends TestCase{
public void testSum(){
assertEquals("3加2應該等于5",5,math1.sum(3,2));
}
}
3、如果測試類里面的每個測試都需要初始化某些資源,那么可以把初始化的代碼放到測試類的初始化方法(setUp)里面,并在類的拆卸(tearDown)方法里面作善后工作。例如,在作數據庫測試的時候,可以在(setUp)方法里面備份當前數據庫,并把當前數據庫里面的數據恢復為測試數據,并在(tearDown)方法里面將數據庫恢復為當前數據。junit 會為每個測試方法運行一次(setUp)和(tearDown),以保證各個測試方法之間互不影響。
public class testMath extends TestCase{
public void setUp(){
初始化代碼;
}
public void tearDown(){
善后代碼;
}
public void test1(){
.......(測試代碼1)
}
public void test2(){
.......(測試代碼2)
}
public void test3(){
.......(測試代碼3)
}
}
在這個例子里面,(setUp)和(tearDown)會被執行三次。
關于testCase 的管理
多個testCase可以被添加到一個testSuite里面,多個testSuite也可以被加到一個testSuite里面。
public class TestMySuit extends TestSuite{
public TestMySuit(){
super();
}
public static Test suite(){
TestSuite suite = new TestSuite();
suite.addTestSuite(myTest1.class);
suite.addTestSuite(myTest2.class);
return suite;
}
關于junit自己的擴展
1、ActiveTestSuite