assert
JUnit の JVM インスタンスではアサーションが有効になっていないため、JUnit テスト スイートでは失敗しなかった Java ステートメントに何度か悩まされました。明確にするために、これらは実装内の「ブラックボックス」アサーション (不変条件のチェックなど) であり、JUnit テスト自体によって定義されたアサーションではありません。もちろん、テスト スイートでそのようなアサーションの失敗をキャッチしたいと思います。
明らかな解決策は、 JUnit を実行するときは常に慎重に使用する-enableassertions
ことですが、より堅牢な解決策を希望します。1 つの代替方法は、すべてのテスト クラスに次のテストを追加することです。
@Test(expected=AssertionError.class)
public void testAssertionsEnabled() {
assert(false);
}
これを達成するためのより自動的な方法はありますか?JUnit に対するシステム全体の構成オプション? メソッドに入れることができる動的呼び出しsetUp()
?