3.8、junit的擴(kuò)展應(yīng)用
以下羅列了些junit的擴(kuò)展應(yīng)用:
junit + httpunit=web功能測試工具
junit + hansel =代碼覆蓋測試工具
junit + abbot =界面自動(dòng)回放測試工具
junit + dbunit =數(shù)據(jù)庫測試工具
junit + junitperf=性能測試工具
3.9、一些使用junit經(jīng)驗(yàn)
不要用testcase的構(gòu)造函數(shù)初始化,而要用setup()和teardown()方法。
不要依賴或假定測試運(yùn)行的順序,因?yàn)閖unit利用vector保存測試方法。所以不同的平臺會(huì)按不同的順序從vector中取出測試方法。
避免編寫有副作用的testcase。例如:如果隨后的測試依賴于某些特定的交易數(shù)據(jù),不要提交交易數(shù)據(jù)。簡單的回滾可以了。
當(dāng)繼承一個(gè)測試類時(shí),記得調(diào)用父類的setup()和teardown()方法。
將測試代碼和工作代碼放在一起,一邊同步編譯和更新。
測試類和測試方法應(yīng)該有一致的命名方案。如在工作類名前加上test從而形成測試類名。
確保測試與時(shí)間無關(guān),不要依賴使用過期的數(shù)據(jù)進(jìn)行測試。導(dǎo)致在隨后的維護(hù)過程中很難重現(xiàn)測試。
如果你編寫的軟件面向國際市場,編寫測試時(shí)要考慮國際化的因素。不要僅用母語的locale進(jìn)行測試。
盡可能地利用junit提供地assert/fail方法以及異常處理的方法,可以使代碼更為簡潔。
測試要盡可能地小,執(zhí)行速度快。
參考資料與附件
1. http:// www.junit.org junit官方網(wǎng)站
2. http://bbs.51cmm.com 的測試論壇
3. http://www.uml.org.cn 的軟件測試專欄
4. 單元測試 《程序員》 2002年7期
5. junit設(shè)計(jì)模式分析 《程序員》2003年6期
6. 《軟件測試和junit實(shí)踐》
7. 附件triangle.java 一個(gè)要測試的類
8. 附件exampletest.java 一個(gè)測試用例類
triangle.java
/**
* this is triangle class
* @author liujun
*/
public class triangle
{
//定義三角形的三邊
protected long lbordera = 0;
protected long lborderb = 0;
protected long lborderc = 0;
//構(gòu)造函數(shù)
public triangle(long lbordera,long lborderb,long lborderc)
{
this.lbordera = lbordera;
this.lborderb = lborderb;
this.lborderc = lborderc;
}
/**
* 判斷是否是三角形
* 是返回ture;不是返回false
*/
public boolean istriangle(triangle triangle)
{
boolean istrue = false;