Java 如何用J-unit测试简单的if-else语句?

Java 如何用J-unit测试简单的if-else语句?,java,testing,white-box,Java,Testing,White Box,我有这个if-else语句,我想写一个J单元测试,它将测试每一行,看它是否正确。有什么想法吗 public class Testings { public static int computeValue(int x, int y, int z) { int value = 0; if ( x == y ) value = x + 1; else if (( x > y) && ( z ==

我有这个if-else语句,我想写一个J单元测试,它将测试每一行,看它是否正确。有什么想法吗

public class Testings {

    public static int computeValue(int x, int y, int z) {
        int value = 0;

        if ( x == y ) 
            value = x + 1;
        else if (( x > y) && ( z == 0))
            value = y + 2;
        else
            value = z;

        return value;
    }
}

使用覆盖所有情况的值测试您的方法:

  • x==y
  • x!=y和x>y和z==0
  • x!=y和x>y和z!=0
  • x!=y和x
  • x!=y和x
  • x==y和z!=0
  • x==y和z==0
例如:

assertEquals(4, Testings.computeValue(3, 3, 10)); // x == y
assertEquals(7, Testings.computeValue(10, 5, 0)); // x != y and x > y and z == 0
assertEquals(1, Testings.computeValue(10, 5, 1)); // x != y and x > y and z != 0
...
此外,每个测试方法都应该有一个断言,这样就可以给它一个适当的名称:

@Test
public void testXEqualY(){
    int x=3, y=3, z=10;
    assertEquals(4, Testings.computeValue(x, y, z));
}

使用覆盖所有情况的值测试您的方法:

  • x==y
  • x!=y和x>y和z==0
  • x!=y和x>y和z!=0
  • x!=y和x
  • x!=y和x
  • x==y和z!=0
  • x==y和z==0
例如:

assertEquals(4, Testings.computeValue(3, 3, 10)); // x == y
assertEquals(7, Testings.computeValue(10, 5, 0)); // x != y and x > y and z == 0
assertEquals(1, Testings.computeValue(10, 5, 1)); // x != y and x > y and z != 0
...
此外,每个测试方法都应该有一个断言,这样就可以给它一个适当的名称:

@Test
public void testXEqualY(){
    int x=3, y=3, z=10;
    assertEquals(4, Testings.computeValue(x, y, z));
}

也许你能解释一下测试的详细程度仅使用单个数字、测试集群等,您可以解释测试的详细程度吗?-仅限单个编号、测试群集等!我刚刚意识到这已经有几个星期了,可能不再有用了!不管怎么说,在这里:)天哪!我刚刚意识到这已经有几个星期了,可能不再有用了!不管怎样,它在这里:)