実行に1週間かかる、非常に遅いテストのセットがあります。(彼らは文字通り、約 1 週間ノンストップでいくつかのコードを実行します)。
当然のことながら、開発者 (またはデフォルトのビルド ジョブでさえも) は、これらのテストを実行したくありません。それらを実行する時間があるのは、特定の個別のビルド ジョブだけです。したがって、これらのテストはデフォルトで無効にする必要があります。
JUnit のカテゴリはこれに最適なように思えました。私はこれらの遅いテストに@Category(SlowTests.class)
. 問題は、次の理由でまだ実行されていることです。
- 毎日テストを追加するため、TestSuite クラスを維持したくありません。TestSuite クラスが 0 個あります。Maven、IntelliJ、および Eclipse は、モジュールからすべての Test クラスを実行するだけです。それらすべての遅いテストを含みます。
- TestSuite クラスがあったとしても、オープンソースの貢献者のほとんどは、IntelliJ または Eclipse からすべての Test クラスを実行しようとし、ハングしたと考えてテストの実行を断念します。これらの遅いテストは、デフォルトで除外する必要があります。できれば、IntelliJ または Eclipse で追加の構成を行わないでください。
明示的な TestSuite を使用せずに、デフォルトで遅い JUnit テストのカテゴリを除外するにはどうすればよいですか?