2017-06-05 14 views
-3

マトリックスが特定の要件を満たしているかどうかをテストしなければならないことは確かです.JUnitテストでテストします。私はJUnitテスト用のフォルダを作成しましたが、テストの記述方法はわかりません。これまでのところ、私はメインクラスでテストを行った。JUnitテストの作成方法は?

public static void main(String[] args) { 
    int matrix[][] = {{2,7,6},{9,5,1},{4,3,8}}; 

    System.out.println(isMagicSquare(matrix)); 

    // changing one element 
    matrix[0][2] = 5; 
    System.out.println(isMagicSquare(matrix)); 
} 

public static boolean isMagicSquare(int[][] matrix) { 
    // actual code omitted for the sake of simplicity. 
} 
+0

JUnit WebサイトのJUnitテストの例を見てきましたか? –

+0

私は試しましたが、有用なものが見つかりませんでした – none

+1

一般に、別のクラス(例: 'TestMagicSquare')を作成し、注釈を使ってテストを呼び出すメソッドをマークします(' testValidSquare() 'や' testInvalidSquare() ')、メソッドを適切に記述して、JUnitシステムで呼び出すことができます。 Eclipseや他のIDEを使用している場合は、テストを実行するためにやや単純化されています。 – KevinO

答えて

0

まず、テストするクラスを作成します。

public class MagicSquare 
{ 
    private int[][] matrix; 

    public MagicSquare(int[][] matrix) 
    { 
     this.matrix = matrix; 
    } 

    public boolean isValid() 
    { 
     // validation logic 
    } 
} 

次に、テストクラスを作成します。

import static org.junit.Assert.assertFalse; 
import static org.junit.Assert.assertTrue; 

import org.junit.Test; 

public class MagicSquareTest 
{ 
    @Test 
    public void testMagicSquare1() 
    { 
     int[][] matrix = { { 2, 7, 6 }, { 9, 5, 1 }, { 4, 3, 8 } }; 
     MagicSquare square = new MagicSquare(matrix); 
     // this is a valid magic square 
     assertTrue(square.isValid()); 
    } 

    @Test 
    public void testMagicSquare2() 
    { 
     int[][] matrix = { { 2, 7, 5 }, { 9, 5, 1 }, { 4, 3, 8 } }; 
     MagicSquare square = new MagicSquare(matrix); 
     // this is an invalid magic square 
     assertFalse(square.isValid()); 
    } 
} 

最後に、コマンドラインからテストケースを実行する方法のthis questionへの回答を参照してください。

関連する問題