Java 如何解决边界测试加或等于问题?
我试图解决一个边界测试问题,其中pi测试将>更改为>=并且测试应该失败。我用Java编写代码,但我觉得这比它本身的语言更符合逻辑Java 如何解决边界测试加或等于问题?,java,Java,我试图解决一个边界测试问题,其中pi测试将>更改为>=并且测试应该失败。我用Java编写代码,但我觉得这比它本身的语言更符合逻辑 public final Integer val0 = 100; public Integer checkValue(Integer val01) { if(val01 > val00) { val01 = val00; } return valo01; } 我的测试 @Test public void testCheckValu
public final Integer val0 = 100;
public Integer checkValue(Integer val01) {
if(val01 > val00) {
val01 = val00;
}
return valo01;
}
我的测试
@Test
public void testCheckValue() {
assertEqual(100, checkValue(100));
}
此时,如果pi测试将我的验证更改为val01>=val00,我的测试不会失败
我愿意接受任何建议
谢谢如果将>更改为>=,If块中的语句将运行,但您将val01设置为val00。val00在顶部定义为100,这意味着无论if block语句是否运行,val01都将保持不变。有另一个变量可以更改为:
class Main {
public static final Integer val00 = 100;
public static final Integer failChange = 0;
public static Integer checkValue(Integer val01) {
if(val01 >= val00)
{
val01 = failChange;
}
return val01;
}
public static void testCheckValue()
{
if(100 == checkValue(100)) //this becomes false
{
System.out.println("EQUAL");
}
}
public static void main(String[] args)
{
testCheckValue();
}
}
我认为您希望将大于100的参数传递给您的方法,并检查它是否仍然返回100。无论您使用>还是>=。。。这可能意味着您有一个bug,或者该方法可以双向编写。