2011-09-07 38 views
5

単体テストを実行しているとき、Gradleはテスト自体を変更することなく複数のテストを並行して実行できます(特殊アノテーション、テストランナーなど)。私はアリと同じことを達成したいと思いますが、どうしたらよいか分かりません。JUnitテストを並行して実行する

私はthis questionを見ましたが、答えのどれも本当に私に訴えません。彼らはant-contribのハック、@ RunWithアノテーションで設定された特別なランナー、その他の特別なアノテーションなどを含んでいます。私はTestNGも認識していますが、Eclipseプラグインでテストを移行することはできません。私たちは約10,000人ですので、私は手でやっていません!

Gradleにはこのようなものは必要ありません。どうすればいいですか?私はGradleが特別なランナーを使用していると思いますが、そうならJUnitのセットアップの一部として設定されており、すべての単一のテストでは言及されていません。そうだとしたら、大丈夫です。私は実際に行ってcを修正したくない。 10,000個のユニットテスト!

答えて

6

Gradleは厳密な意味で特別なJUnitランナーを使用しません。 「単純に」複数のJVMをスピンアップし、それぞれのテストクラスのサブセットをJUnitを呼び出して実行し、ビルドを実行するJVMに結果を報告する洗練されたテストタスクを持っています。そこでは結果が集約され、単一のJVM、シングルスレッドのテスト実行のように見えます。これは、独自のテストリスナーを定義するビルドでも機能します。

Antで並列テストを実行するには、この機能をサポートするAntタスクが必要です(存在するかどうかはわかりません)。別の方法として、AntビルドをGradle(ant.importBuild "build.xml")にインポートして、Gradle側にテストタスクを追加する方法があります。

+0

Hmmm、それは興味深い考えです。私は、正直言って、このようなことはすでにAntには存在していないことに驚いています。 – dty

関連する問題