JUnit是個好東西,做大點的項目離不開這東西,實際中用的時候也因為時間和人力的關(guān)系,僅僅寫個TestCase(測試單元),運行一下看看扔過去了,過后也不維護測試代碼。
所用的JUnit包為3.8.2。
JUnit這東西,說復(fù)雜也復(fù)雜,說簡單也簡單,關(guān)于JUnit的敘述解說網(wǎng)上一堆一堆,可是找不到個簡單點又能說明問題的附帶有完整代碼可運行的例子。下面給出一個三分鐘的入門的例子大家看看。
一、寫測試目標(biāo)(業(yè)務(wù)相關(guān)的類)
/**
*
* 測試對象
* User: leizhimin
* Date: 2008-3-13 14:58:58
*/
public class Calcuator {
public double add(double n1, double n2) {
return n1 + n1;
}
}
二、寫測試用例
import junit.framework.TestCase;
/**
* 測試用例
* File: TestCalcuator.java
* User: leizhimin
* Date: 2008-3-13 15:00:17
*/
public class TestCalcuator extends TestCase {
public void testAdd(){
Calcuator calcuator=new Calcuator();
double result=calcuator.add(1,2);
assertEquals(3,result,0);
}
}
import junit.framework.TestCase;
/**
* 測試用例
* File: TestCalcuator2.java
* User: leizhimin
* Date: 2008-3-13 16:13:29
*/
public class TestCalcuator2 extends TestCase {
public void testAdd(){
Calcuator calcuator=new Calcuator();
double result=calcuator.add(1,2);
assertEquals(3,result,0);
}
}
三、寫測試單元
import junit.framework.TestSuite;
import junit.framework.Test;
import junit.textui.TestRunner;
/**
* 測試單元
* File: TestAll.java
* User: leizhimin
* Date: 2008-3-13 16:17:10
*/
public class TestAll extends TestSuite {
public static Test suite() {
TestSuite suite = new TestSuite("TestSuite Test");
suite.addTestSuite(TestCalcuator.class);
suite.addTestSuite(TestCalcuator2.class);
return suite;
}
public static void main(String args[]){
TestRunner.run(suite());
}
}
四、運行單元測試的main()方法
控制臺打印出結(jié)果如下:
..
Time: 0
OK (2 tests)
Process finished with exit code 0
運行圖形界面顯示結(jié)果:
這個例子100%可以運行。呵呵,看到了吧。
這個僅僅是個起步例子,在實際中還應(yīng)該注意測試數(shù)據(jù)的預(yù)備,測試結(jié)束后要恢復(fù)測試環(huán)境的狀態(tài),如果你想繼續(xù)了解,請看"JUnit三分鐘教程 ---- 實際應(yīng)用"。