原谅可能是一个相当微不足道的问题:
我正在测试'setPercentage(int percent){...}'方法。这些要求没有说明存在“可接受范围”或允许值的任何内容......但我从相关申请中了解到百分比应该只在0到100之间。
我是否应该测试所设置的值是否有意义(在单元测试的背景下?)
即。如果设置百分比,我应该编写失败的单元测试> 100或者< 0?
答案 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) {
}