0

私はパラメトリックテストクラスを持っていますが、私はIllegalArgumentExceptionを返すと予想されるテストメソッドを持っています。パラメータ化されたテストクラスのIllegalArgumentException

は、すべてのソリューションを誰が持っている..方法negetiveSideTestを一致なしテスト: 初期化エラー:

@RunWith(value = Parameterized.class) 
public class TriangleParametrizedTest { 

    @Rule 
    public ExpectedException exception = ExpectedException.none(); 

    enum Type { 
     EQUILATERAL, 
     NEGETIVE 
    }; 

    private Type type; 

    private int sideA; 
    private int sideB; 
    private int sideC; 

    public TriangleParametrizedTest(Type type, int sideA, int sideB, int sideC) { 
     this.type = type; 
     this.sideA = sideA; 
     this.sideB = sideB; 
     this.sideC = sideC; 
    } 

    @Parameters() 
    public static Collection<Object[]> data() { 
     return Arrays.asList(new Object[][]{ 
      {Type.EQUILATERAL, 5, 5, 5}, 
      {Type.NEGETIVE, -5, 5, 5},}); 
    } 

    @Test() 
    public void negetiveSideTest() { 
     Assume.assumeTrue(type == Type.NEGETIVE); 
     exception.expect(IllegalArgumentException.class); 
     Triangle trianle = new Triangle(sideA, sideB, sideC); 

    } 

} 

が、私はこのエラーを持っていますか?あなたのテスト関数をマークする@Testアノテーションを使用する場合

答えて

0

、そうのように、何の括弧があってはならない:

@Test <--- Remove the parenthesis here 
public void negetiveSideTest() { 
    Assume.assumeTrue(type == Type.NEGETIVE); 
    exception.expect(IllegalArgumentException.class); 
    Triangle trianle = new Triangle(sideA, sideB, sideC); 
} 

同じことがあなたの@Parametersのdeclaraionのために行きます。

関連する問題