多くのテストに必要なヘルパーメソッドを持つ基本クラスがあります。
それ自体にはテストはありませんが、(Eclipseの)JUnitはテストランナーを呼び出しており、テストする方法がないことを訴えています。
このクラスを無視させるにはどうすればよいですか?
問題を解決するdummyTest
メソッドを追加できることは知っていますが、すべての子クラスにも表示されます。
提案?
に使用 @Ignore
注釈。クラスでも機能します。これを見てください:
@Ignore public class IgnoreMe {
@Test public void test1() { ... }
@Test public void test2() { ... }
}
また、@ Ignoreを使用してテストメソッドを含むクラスに注釈を付けることができ、含まれるテストはいずれも実行されません。
ソース: JUnit JavaDoc
念のため、無視する理由を常に提示することをお勧めします。
@Ignore("This test will prove bug #123 is fixed, once someone fixes it")
私は、antからテストを実行するときに使用されるjunit xmlレポートフォーマッターに、無視されたカウント(および理由)に合格、失敗、エラーが含まれることを期待しています。
クラスabstract
を作成することで、JUnit 4に十分なはずです。機能しない場合は、使用しているJUnitのバージョンを再確認してください。
これは、これが単なるテストの断片であるという意図も伝えます。
また、JUnitがクラス内のテストを「無視」としてカウントするのを防ぎます(したがって、無視されたテストの最終カウントは期待どおりになります)。
または、クラスの名前を変更します。ほとんどのランナーはクラス名を使用して、どのクラスがテストで、どのクラスがヘルパーであるかを判断します。デフォルト設定のMavenでは、基本クラスがTest
で開始または終了せず、TestCase
で終了しないことを確認する必要があります( http:// maven.Apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html )
2つのオプションがあります。
基本テストクラスを作成する必要がありますabstract、Junit4で十分です。 @Igonre属性を使用すると、無視されたテストとして表示されます(そして、テストの総数に追加されます)。
テストクラスの名前を変更できます。テストクラスの名前は、テスト名の最初または最後でWordを持たない Test(大文字と小文字を区別します)、またはWord TestCaseの最後で変更できます。
ところで:@Igonreは、特定のテストを無視したい場合の異なるユースケース用です。