web-dev-qa-db-ja.com

gradleを使用して単一の統合テストを実行する

Gradleの-Dtest.singleフラグを使用して単一の統合テストを実行しようとしています。別のソースセットsrc/integrationTestを追加し、そこにテストを配置しました。統合テストタスクがあります

task integrationTests(type: Test) {
    dependsOn 'assemble', 'integrationTestClasses'    
    testClassesDir = sourceSets.integrationTest.output.classesDir
    classpath = sourceSets.integrationTest.runtimeClasspath
}

これは正常に実行されますが、単一のテストを実行しようとすると、一致するテストが見つからないと表示されます。新しいテストを作成するたびに、すべての統合テストを実行する必要はありません。これを行う方法はありますか?

19
Jeff Storey

正しい構文は次のとおりです。

gradle testTaskName -DtestTaskName.single=...

この場合:

gradle integrationTest -DintegrationTest.single=...

19

Gradle 1.10以降、次のように書くことができます。

 //select specific test method
gradle test --tests org.gradle.SomeTest.someFeature

//select specific test class
gradle test --tests org.gradle.SomeTest

//select all tests from package
gradle test --tests org.gradle.internal*

//select all ui test methods from integration tests by naming convention
gradle test --tests *IntegTest*ui*

//selecting tests from different test tasks
gradle test --tests *UiTest integTest --tests *WebTest*ui

詳細はこちら http://www.gradle.org/docs/1.10/release-notes#executing-specific-tests-from-the-command-line

35
pditommaso