回答
這取決於你期望該方法的行爲。例如:如果某人調用了該方法並更改了檢索到的列表,那麼是否希望在下次調用getter時顯示這些更改?無論哪種方式,測試行爲。當列表爲空時,getter返回什麼?是空還是空列表?這也應該被測試。
Interessting問題:
How much should a unit test "test"
How to use Junit and Hibernate usefully
What should not be unit tested
編輯:
加入了一些我不喜歡的問題在這裏關於#1 JUnit和單元測試。
什麼是Hibernate在這裏? – Bozho 2009-12-21 08:58:36
我加入吧...引起一些人往往忘記了Junit的可以有很多不同的組件協同工作。這對於初學者來說是一個很好的起點......但那只是我的2美分。 – bastianneu 2009-12-21 09:03:19
通常爲訪問者編寫明確的Junit測試通常有點矯枉過正(你在測試什麼?return foo;)。使用code coverage工具(如clover)可幫助您首先針對最複雜的代碼進行測試工作。
請務必記住,測試代碼也是代碼,對於每1,000行代碼,您至少會產生4個錯誤。因此,測試什麼不起作用,不要爲不可能破壞的東西編寫測試(如IDE生成的代碼)。如果它確實中斷了,寫一個測試:)
在一般的單元測試中應該測試你的方法是否做了它應該做的事情。
如果你的方法返回一個數組列表,你的基本測試就是聲明一個數組列表在被調用時確實返回。
測試中的下一級細節是檢查arraylist構造是否正確?你期望它的值是否被正確填充?如果它應該是一個空的列表,是這樣嗎?
現在你有了你的「陽光燦爛的日子」的情況下(即該方法在正常情況下工作),如果合適的話,你應該添加一些負面(或「下雨天」)條件。如果該方法接受陣列的長度,如果你傳遞一個負數或int.Max等數據。
正如另一個答案中所述,這對於一個簡單的訪問器來說可能是過分的,但這些原則適用於任何你需要編寫單元測試。
取決於您的要求。您可能測試:
- 如果返回值不爲空
- 如果如果返回的集合是可以修改返回的集合不爲空
- /不可修改
- 如果返回的集合進行排序
- 如果返回的集合包含所有期望值
- 如果訪問器方法不會拋出運行時異常
但是,正如我所說的,這取決於不同的要求,這取決於「之類的」,當你調用存取收集你的期望。也許你允許將列表設置爲null
,但創建一個空列表。測試可以確保當您將列表設置爲空時,您確實會獲得空列表。
希望它可以幫助給你的想法!
- 1. 如何測試junit測試
- 2. JUnit測試 - 什麼使它比手動測試更有用?
- 3. JUnit測試後
- 4. 用jUnit測試
- 5. JUnit測試
- 6. 的JUnit:測試
- 7. Junit REST測試?
- 8. Java JUnit測試
- 9. JUnit測試AspectJ
- 10. 從jUnit測試
- 11. JUnit測試。怎麼樣?
- 12. JUnit測試,有什麼問題?
- 13. 爲什麼使用JUnit測試套件?
- 14. 什麼是mockito,爲什麼它與我的JUNIT測試搞砸了?
- 15. 繼承Junit測試的測試主題
- 16. Junit測試,創建其他測試
- 17. mvn測試沒有找到junit測試
- 18. JUnit測試(正面和負面測試)
- 19. 用web驅動測試junit測試
- 20. Junit測試:測試多個異常
- 21. mvn測試未找到JUnit測試
- 22. MockMVC jUnit Spring測試
- 23. GWT的JUnit測試
- 24. Junit測試用例
- 25. 不是JUnit測試
- 26. Junit測試函數
- 27. Kotlin的JUnit測試
- 28. JUNIT - 測試方法
- 29. JUnit測試集合
- 30. 分組JUnit測試
然後看了一些文章和觀看一些介紹;) – Bozho 2009-12-21 08:57:39
只是一個相關的評論,這是更好地返回一個迭代基礎集合,而不是提供存取方法來回報您的集合實例。返回迭代器限制了包含集合實例的類的可變性。 – sateesh 2009-12-21 09:34:57
@sateesh - 甚至更好:'返回Collections.unmodifiableList(MYLIST);'。一些迭代器實現了一個'delete()'方法...... – 2009-12-21 10:17:00