2016-12-27 1 views
1

私はこのif-elseステートメントを持っており、見たい個々の行をテストするJ単体テストを作成したいと思います。何か案は?J-unitで他のステートメントが単純なら、どのようにテストするのですか?

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 == 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 
... 

また、あなたがテストメソッドごとに1つのアサートを持っている必要がありますが

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

geez!私はちょうどこれが数週間前になったことに気付きました。恐らくもう役に立たないでしょう!とにかく、ここにあります:) – alexbt

関連する問題