2012-04-16 251 views
1

藉口什麼可能是一個相當瑣碎的問題:單元測試Java方法

我單元測試「setPercentage(INT百分比){...}」方法。這些要求沒有提供任何有關'可接受範圍'或允許值的信息......但是我從相關應用程序知道百分比應該只在0和100之間。

我應該測試if設置的值是有意義的(在單元測試的背景下?)

即我應該寫單元測試失敗如果百分比設置> 100或< 0?

回答

2

如果該方法的文檔沒有明確說明這些值不被允許,那麼您應該爲超出正確範圍的值編寫單元測試。將會有用戶提供不正確的值 - 正確的是,文檔沒有告訴不要。

1

如果設置> 100或< 0,則不會編寫失敗的測試。如果傳遞> 100或< 0,您是否會設置錯誤屬性或引發IllegalArgumentException,您將測試setPercentage是否正確響應。單元測試的重點是確保基於已知輸入的預期結果。如果設置> 100無效,則以下片段可能是單元測試的一個示例以驗證行爲:

try { 
    o.setPercentage(101); 
    Assert.fail (
     "setPercentage(101) should of thrown an IllegalArgumentException"); 
} catch (IllegalArgumentException ex) { 
}