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

时间:2016-12-27 06:57:43

标签: 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 == 0))
            value = y + 2;
        else
            value = z;

        return value;
    }
}

1 个答案:

答案 0 :(得分:0)

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

  • x == y
  • x!= y和x> y和z == 0
  • x!= y和x> y和z!= 0
  • x!= y且x< y和z == 0
  • x!= y且x< y和z!= 0
  • 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));
}