单元测试Java方法

时间:2012-04-16 00:11:53

标签: unit-testing testing

原谅可能是一个相当微不足道的问题:

我正在测试'setPercentage(int percent){...}'方法。这些要求没有说明存在“可接受范围”或允许值的任何内容......但我从相关申请中了解到百分比应该只在0到100之间。

我是否应该测试所设置的值是否有意义(在单元测试的背景下?)

即。如果设置百分比,我应该编写失败的单元测试> 100或者< 0?

2 个答案:

答案 0 :(得分:2)

如果方法的文档没有明确说明不允许这样的值,那么你肯定应该为超出适当范围的值编写单元测试。会有用户提供不正确的值 - 正确地说,文档并没有告诉他们。

答案 1 :(得分:1)

如果设置>您将不会编写失败的测试100或者< 0.如果通过>您将测试setPercentage是否正确响应100或者< 0,无论是设置错误属性,还是抛出IllegalArgumentException。单元测试的要点是确保基于已知输入的预期结果。如果设置> 100无效,以下代码段可能是验证行为的单元测试示例:

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