JUnit - テストの他のテストへの依存関係を指定します(どちらもスキップせずに)? 質問する

JUnit - テストの他のテストへの依存関係を指定します(どちらもスキップせずに)? 質問する

当社のツールキットには15000以上のジュニットテストはいくつかあり、他のテストが失敗すると多くのテストが失敗することが知られています。たとえば、メソッド X.foo() が Y.bar() の機能を使用し、YTest.testBar() が失敗すると、XTest.testFoo() も失敗します。明らかに、X.foo() に固有の問題により、XTest.testFoo() が失敗することもあります。

これは問題なく、両方のテストを実行したいのですが、テストの依存関係に XTest.testFoo() が YTest.testBar() を指すように注釈を付けられると便利です。こうすることで、X.foo() によって使用されるどの機能も失敗しているかどうかがすぐにわかります。

JUnit または他の場所でそのような注釈が利用できますか? たとえば次のようになります:

public XTest {

  @Test
  @DependsOn(method=org.example.tests.YTest#testBar)
  public void testFoo() {
     // Assert.something();
  }

}

ベストアンサー1

JUnit ではまだそれができません (執筆時点では 2022 年)。

しかし、どちらもJ例そしてテストNGそういうものを持っています。

  • これらのライブラリは、依存関係メカニズムをサポートする独自のテスト ランナーを提供します。
  • また、どちらも JUnit と一緒に使用できます (既存のクラスを書き換える必要はありません)。
  • しかし、TestNG の方が有望であるように思われます。

どの程度役に立つかは分かりませんが、試してみたら役に立ったかどうか教えてください。

おすすめ記事