2.. 如果單元測試涉及到可變資訊(如目前時間),需要将待測試資料也變為可變,否則無法回歸測試
3. 使用測試驅動開發必須從頭開始,嚴格進行,否則到半中間會很費事的。
4. 測試驅動開發中,私有方法也要測試,可通過反射實作,如
summer example = new summer.newinstance();
method m = example.getclass().getdeclaredmethod("methodone",new class[]{string.class});
m.setaccessible(true);object result = m.invoke(example ,new object[] {“xxx”});
m.setaccessible(false);
if (result.equals(rightresult)){
5.重構和修改,一次隻帶一頂帽子,要掌握自己的pace,不太快也不太慢
6. 常用斷言:相等,真,空,同一對象
7. junit與ant結合,運作全部測試并将運作結果以檔案形式輸出
import junit.framework.testcase;
public class calculateutiltest extends testcase
{
public calculateutiltest(string name) //1行
super(name);
}
1. import junit.framework.*;
2. public class maintest
3. {
5. {
6. testsuite suite = new testsuite(); //2行
7.
8. //添加測試testdivision方法
9. suite.addtest(new calculateutiltest("testdivision")); //3行
10.
//添加測試類
suite.addtestsuite(calculateutil.class);
return suite;
14. }
15.
16. public static void main(string[] args)
17. {
18. //執行測試
19. junit.textui.testrunner.run(suite()); //4行
20. }
21. }
最新内容請見作者的github頁:http://qaseven.github.io/