私は新しい統合テストのGroovyプロジェクトを作成し、さまざまなコンポーネントに対してテストをまとめてグループ化できるようにしたいと考えています。たとえば、一部のテストはドッカーイメージに対してのみ有効ですが、その他のテストはローカルで実行されているWebアプリケーションをテストするためのものです。また、テストの結果に関するレポートを取得し、必要に応じてテストを何度も実行することもできます。JUnitテストをGradleでグループ化
答えて
JUnitでテストをグループ化する最初の手順は、グループに名前を付けるインタフェースを作成することです。テストクラスに到達できるパッケージでこれを作成します。あなたのテストクラスは、次のようになります場合は
は:今、このように見えるようにしたテストクラスを変更
package com.example.test
interface DockerTest {}
:
package com.example.test.api.get.cert
import org.junit.experimental.categories.Category
@Category(DockerTest.class)
class ByIssuedBeforeTest {
//awesome tests
}
package com.example.test.api.get.cert
class ByIssuedBeforeTest {
//awesome tests
}
次に、このような空のインターフェイスを作成します
クラス全体ではなく個々のテストに注釈を付けることもできます。
は、今すぐあなたのbuild.gradleファイルに:
apply plugin: 'java'
sourceSets {
main {
java {
srcDirs = ["src/main/java", "src/main/groovy"]
}
}
test {
java {
srcDirs = ["src/test/java", "src/test/groovy"]
}
}
}
test {
outputs.upToDateWhen { false }
reports {
junitXml.enabled=true
html.enabled=true
}
}
task nondockerTest(type: Test) {
outputs.upToDateWhen { false }
useJUnit {
excludeCategories 'com.example.test.DockerTest'
}
}
task dockerTest(type: Test) {
outputs.upToDateWhen { false }
useJUnit {
includeCategories 'com.example.test.DockerTest'
}
}
GradleのためのJavaプラグインを使用すると、テスト・タスクを提供します。テストタスクでは、outputs
行を追加して、テストタスクが "UP-TO-DATE"とラベル付けされないようにします。結果をキャッシュする代わりに、常にgraleがタスクを実行するように強制します。
レポートブロックを使用すると、JUnitレポートファイルを作成できます。それらはbuild/reports/testsディレクトリに置かれます。 nonDockerTestを実行した場合は、/ reports/tests/nondockerTest/index.htmlをビルドします。
useJUnitブロックは、テストを実行するためにJUnitを使用し、実行するテストのカテゴリ(includeCategoriesを使用する場合)または実行しないカテゴリ(excludeCategoriesを使用する場合)をGradleに指示します。
gradle test
すべてのテストを実行します。
gradle nondockerTest
DockerTestカテゴリのように分類されていないテストを実行する。
gradle dockerTest
DockerTestカテゴリのラベルが付けられたテストだけを実行します。
これらのタスクのそれぞれは、/build/reports/tests
ディレクトリにレポートを作成します。
- 1. JUnitテストのグループ化
- 2. Springパラメータ化/理論JUnitテスト
- 3. gradle junitテストで実行可能ファイルを使用する
- 4. Gradle Merge Junit Report
- 5. Junitテストはgradleタスク 'test'で実行されていません
- 6. 複数のテストでパラメータ化されたjunitテスト
- 7. jUnitでデータディレクトリをテスト
- 8. JUnit、パラメータ化されたテストのタイムアウト
- 9. Intellij IdeaでのGradle RunnerとJUnitテスト用の環境変数の設定
- 10. JUnitでGUIをテストする
- 11. JUnitでのエンコーディング:GradleとEclipseの比較
- 12. JUnitテストでEJBのEntityManagerを初期化する方法は?
- 13. Gradleを使用して分類されたJunitテストを実行するには?
- 14. JUnitテストJTableセルツールチップ
- 15. Junitテスト用データベース
- 16. Android Junitテスト
- 17. コレクションのJUnitテスト
- 18. セットアップ、initilize JUnitテスト
- 19. AspectJのJUnitテスト
- 20. JUnitサーブレットのテスト
- 21. JUnitテストHadoop Writable
- 22. Android JUnitテスト(クラス
- 23. Arquillian JUnitテストは
- 24. KotlinのJUnitテスト
- 25. Java用JUnitテスト
- 26. @JmsListenerのJUnitテスト
- 27. JUnitテストを書く
- 28. プレイフレームワーク2.1 JUnitテストは、JUnitテストを日食からzentaskチュートリアル以下
- 29. PowerMockでのJUnitテストのプロファイリング?
- 30. JUnitでのJDBCクエリのテスト
異なるカテゴリのテストで異なるコンパイルの引数や依存関係がある場合、このソリューションはすばやく複雑になると思います。この場合、ソースセットごとに異なるビルドを定義する利点を持つJUnitカテゴリを作成するのと同じ効果を持つソースセットが必要になります。 – vinegarbin
私は代わりとしてソースセットを調べなければならないでしょう。私はそれらがソースとテストフォルダの間だけだと思った。私は、それが互いにテストをさらに分離するために使用できるかどうかはわかりませんでした。 – drusolis