2016-12-27 36 views
1

我有这个if-else语句,我想写一个J单元测试,测试每个单独的行以查看是否正确。有任何想法吗?如何用J-unit测试简单的else语句?

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; 
    } 
} 
+0

也许你解释应该如何详细测试它? - 只有单个号码,测试集群等 –

回答

0

与覆盖所有情况下,价值测试你的方法:!

  • X ==Ÿ
  • 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)); 
} 
+0

geez!我只是意识到这是几周的时间,可能不再有用!无论如何,这里是:) – alexbt