1

通常、多くのテストを作成し、Eclipse で頻繁に実行します。さらに、テストを実行する Jenkins で Maven を使用します。ときどき、各テスト メソッドをテストするか、テスト クラス全体をテストするか、パッケージ全体を一度にテストするかによって違いが生じる状況に遭遇します (テストが突然赤くなることを意味します)。

すでに初期化されている静的フィールド、意図せずに実行し続けるジョブ、テスト メソッドがかなりランダムな順序で実行されるなどを考えてみてください。つまり、テスト互いに干渉する状況はたくさんあります。明らかに、上記のすべてが問題にならず、発生せず、状況がどうであれ、すべてがグリーンになるようにメソッドを書くよう努めています。

前述の製品が実際にどのようにテストを実行するのかはわかりませんが、JVM が起動され、選択されたすべてのテスト (メソッド、クラス、またはプロジェクト) が実行され、その後 JVM がシャットダウンするようです。考えられる 3 つの方法すべてでテストを自動的に実行できるオプションは見たことがありません。

私の質問は次のとおりです。

  • どのように対処しますか?
  • これは本当に問題だと思いますか?
4

1 に答える 1

0

テストは相互に依存してはならず、他のテストに影響を与えてはなりません。テストが失敗する状況に遭遇した場合は、その理由を見つけてそれを排除する必要があります。

テストごとに JVM をフォークする必要がある状況が一度だけありました。これは、 maven-surefire-pluginのforkModeプロパティを使用して実行できます。

于 2012-07-24T07:24:43.753 に答える