1

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

我正在对“setPercentage(int percent){...}”方法进行单元测试。这些要求没有说明任何关于“可接受范围”或允许值的内容......但我从相关应用程序中知道,百分比应该只在 0 到 100 之间。

我是否应该测试设置的值是否有意义(在单元测试的上下文中?)

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

4

2 回答 2

2

如果该方法的文档没有明确说明不允许使用此类值,则绝对应该为超出适当范围的值编写单元测试。会有用户提供不正确的值 - 正确的是,文档并没有告诉不要这样做。

于 2012-04-16T00:17:14.220 回答
1

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

try { 
    o.setPercentage(101);
    Assert.fail (
       "setPercentage(101) should of thrown an IllegalArgumentException");
} catch (IllegalArgumentException ex) {
}
于 2012-04-16T00:17:25.920 回答