日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JUnit测试建议

發(fā)布時間:2025/5/22 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JUnit测试建议 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

以下是對JUnit實踐的一個很好的總結(jié),信息來源于一些比較權(quán)威的JUnit書籍和網(wǎng)上資料。這里集合如下:

1、每次只對一個對象進(jìn)行UT測試(unit-test one object at a time)。這樣能使你盡快發(fā)現(xiàn)問題,而不被各個對象之間的復(fù)雜關(guān)系所迷惑。

2、給測試方法起個好名字(choose meaningful test method names)。應(yīng)該是用形如testXXXYYY(),這樣的格式來命名你的測試方法。前綴test是Junit查找測試方法的依據(jù),XXX應(yīng)該是你測試的方法名,YYY應(yīng)該是你測試的狀態(tài)。當(dāng)然如果你只有一種狀態(tài)需要測試可以直接命名為testXXX()。

3、明確寫出出錯原因(explain the failure reason in assert calls)。在使用assertTrue,assertFalse,assertNotNull,assertNull方法時,應(yīng)該將可能的錯誤的描述字符串,以第一個參數(shù)傳入相應(yīng)的方法。這樣你可以迅速的找出出錯原因。

4、一個UT測試方法只應(yīng)該測試一種情況(one unit test equals one testMethod)。一個方法中的多次測試,只會混亂你的測試目的。

5、測試任何可能的錯誤(test anything that could possibly fail)。你的測試代碼不是為了證明你是對的,而是為了證明你沒有錯。因此對測試的范圍要全面,比如邊界值、正常值、錯誤值;對代碼可能出現(xiàn)的問題要全面預(yù)測。

6、讓你的測試幫助改善你的代碼(let the test improve the code)。測試代碼永遠(yuǎn)是我們代碼的第一個用戶,所以不僅讓他幫組我們發(fā)現(xiàn)Bug,還要幫組我們改善我們的設(shè)計,就是有名的測試驅(qū)動開發(fā)(Test-Driven Development,TDD)。

7、一樣的包,不同的位置(same package, separate directories)。測試的代碼和被測試的代碼應(yīng)該放到不同的文件夾中,建議使用這種目錄 src/java/代碼 src/test/測試代碼。 這樣可以讓兩份代碼使用一樣的包結(jié)構(gòu),但是放在不同的目錄下。

8、關(guān)于setup與teardown

a) 不要用TestCase的構(gòu)造函數(shù)初始化Fixture,而要用setUp()和tearDown()方法。

b) 在setUp和tearDown中的代碼不應(yīng)該是與測試方法相關(guān)的,而應(yīng)該是全局相關(guān)的。如:針對與測試方法都要用到的數(shù)據(jù)庫鏈接等等。

c) 當(dāng)繼承一個測試類時,記得調(diào)用父類的setUp()和tearDown()方法。

9、不要在mock object中牽扯到業(yè)務(wù)邏輯(don’t write business logic in mock objects)。

10、只對可能產(chǎn)生錯誤的地方進(jìn)行測試(only test what can possibly break)。如:一個類中頻繁改動的函數(shù)。對于那些僅僅只含有g(shù)etter/setter的類,如果是由IDE(如Eclipse)產(chǎn)生的,則可不測;如果是人工寫,那么最好測試一下。

11、盡量不要依賴或假定測試運行的順序,因為JUnit利用Vector保存測試方法。所以不同的平臺會按不同的順序從Vector中取出測試方法。

12、避免編寫有副作用的TestCase,你要確信保持你的測試方法之間是獨立的。

13、將測試代碼和工作代碼放在一起,一邊同步編譯和更新(使用Ant中有支持junit的task)。

14、確保測試與時間無關(guān),不要依賴使用過期的數(shù)據(jù)進(jìn)行測試。導(dǎo)致在隨后的維護(hù)過程中很難重現(xiàn)測試。

15、如果你編寫的軟件面向國際市場,編寫測試時要考慮國際化的因素。不要僅用母語的Locale進(jìn)行測試。

16、盡可能地利用JUnit提供地assert/fail方法以及異常處理的方法,可以使代碼更為簡潔。

17、測試要盡可能地小,執(zhí)行速度快。

轉(zhuǎn)載于:https://my.oschina.net/henrydong/blog/143794

總結(jié)

以上是生活随笔為你收集整理的JUnit测试建议的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。