2016-12-27 33 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