さまざまなテストクラスを含むJunitテストスイートを実行したい。テストスイート内で@ExcludeCategory経由でjunitテストを無視する
すべてのテストのうち、特定の注釈で注釈が付けられたテストメソッドを除外します。
私は@ Ignoreアノテーションを認識していますが、別のテストスイートからテストを呼び出すと、別のテストメソッドを無視できるようにしたいので、ここでは使用したくありません。
私はそれを試しても動作しません。 それを説明するために@ExcludeCategory(IgnoreMeForSpecialReason.class)
で実行されているよう@ExcludeCategory(IgnoreMeForSpecialReason.class)なしで私のスイートを実行すると、テストケースと同じ量を実行します:
このスイート
//version 1
@RunWith(Categories.class)
@ExcludeCategory(IgnoreForSpecialReasonA.class)
@SuiteClasses({
// add your test classes here
Module1Test.class,
Module2Test.class,
Module3Test.class
})
public class MySuiteA
{
}
スイートのこのバージョンがするように
は、テストの同じ量を実行します:
//version 2
@RunWith(Categories.class)
//@ExcludeCategory(IgnoreForSpecialReasonA.class)
@SuiteClasses({
// add your test classes here
Module1Test.class,
Module2Test.class,
Module3Test.class
})
public class MySuiteA
{
}
モジュールの一つの試験方法1Testに@IgnoreForSpecialReasonA Annotationアノテーションが付けられています。そのメソッドは、私の例のversion1ではスキップする必要がありますが、実行されています。
どのように@ExcludeCategoryはスイートで実際に動作するのですか?
乾杯!
これは、@Categoryアノテーションを使用する代わりに、メソッドに直接注釈を付けるだけでした。ありがとう! – nemoo