0
junitを使用してテスト中のメソッドによってアサーションがスローされたかどうかをテストするにはどうすればよいですか?アサーションがスローされたかどうかのテスト
public int f(int i){
assert i > 0;
return i;
}
私はjunit 4.12を使用しています。
junitを使用してテスト中のメソッドによってアサーションがスローされたかどうかをテストするにはどうすればよいですか?アサーションがスローされたかどうかのテスト
public int f(int i){
assert i > 0;
return i;
}
私はjunit 4.12を使用しています。
あなたは@Test
注釈内のパラメータを提供することで、それをテストすることができます:AssertException
がスローされた場合
@Test(expected = AssertionError.class)
public void shouldThrowExceptionWhenIncorrectInput() {
f(-3);
}
はこれがチェックされます。 しかし、この関数を間違ったパラメータで実行しないようにするには、-da
パラメータでjavaを実行することでアサーションをオフにすることができます。
例外がスローされるように、私はいくつかの検証方法の中にIllegalArgumentException
を投げて、適切なメッセージを提供することをお勧めします。そうすれば、間違ったパラメータが提供されたときに常に例外がスローされることになります。