藉口什麼可能是一個相當瑣碎的問題:單元測試Java方法
我單元測試「setPercentage(INT百分比){...}」方法。這些要求沒有提供任何有關'可接受範圍'或允許值的信息......但是我從相關應用程序知道百分比應該只在0和100之間。
我應該測試if設置的值是有意義的(在單元測試的背景下?)
即我應該寫單元測試失敗如果百分比設置> 100或< 0?
藉口什麼可能是一個相當瑣碎的問題:單元測試Java方法
我單元測試「setPercentage(INT百分比){...}」方法。這些要求沒有提供任何有關'可接受範圍'或允許值的信息......但是我從相關應用程序知道百分比應該只在0和100之間。
我應該測試if設置的值是有意義的(在單元測試的背景下?)
即我應該寫單元測試失敗如果百分比設置> 100或< 0?
如果該方法的文檔沒有明確說明這些值不被允許,那麼您應該爲超出正確範圍的值編寫單元測試。將會有用戶提供不正確的值 - 正確的是,文檔沒有告訴不要。
如果設置> 100或< 0,則不會編寫失敗的測試。如果傳遞> 100或< 0,您是否會設置錯誤屬性或引發IllegalArgumentException,您將測試setPercentage是否正確響應。單元測試的重點是確保基於已知輸入的預期結果。如果設置> 100無效,則以下片段可能是單元測試的一個示例以驗證行爲:
try {
o.setPercentage(101);
Assert.fail (
"setPercentage(101) should of thrown an IllegalArgumentException");
} catch (IllegalArgumentException ex) {
}