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

我试图解决一个边界测试问题,其中pi测试将>更改为>=并且测试应该失败。我用Java编写代码,但我觉得这比它本身的语言更符合逻辑

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,或者该方法可以双向编写。