1. ホーム
  2. unit-testing

[解決済み] Gradleを使用して1つのユニットテストクラスのみを実行する方法

2022-03-18 16:29:43

質問

私はGradleの初心者です。Gradle 1.10とUbuntu 13を使用しています。

私は、以下のような、1つのユニットテスト・クラスだけを実行するコマンドがあるかどうかを知りたいのです。 testOnly SBTで

解決方法は?

テストクラスを1つ実行するには、Airbornの回答が良い。

いくつかのコマンドラインオプションを使用することで ここで というようなことが簡単にできます。

gradle test --tests org.gradle.SomeTest.someSpecificFeature
gradle test --tests *SomeTest.someSpecificFeature
gradle test --tests *SomeSpecificTest
gradle test --tests all.in.specific.package*
gradle test --tests *IntegTest
gradle test --tests *IntegTest*ui*
gradle test --tests *IntegTest.singleMethod
gradle someTestTask --tests *UiTest someOtherTestTask --tests *WebTest*ui

gradleのバージョン1.10以降では、テストを選択するために テストフィルタ . 例えば

apply plugin: 'java'

test {
  filter {
    //specific test method
      includeTestsMatching "org.gradle.SomeTest.someSpecificFeature"

     //specific test method, use wildcard for packages
     includeTestsMatching "*SomeTest.someSpecificFeature"

     //specific test class
     includeTestsMatching "org.gradle.SomeTest"

     //specific test class, wildcard for packages
     includeTestsMatching "*.SomeTest"

     //all classes in package, recursively
     includeTestsMatching "com.gradle.tooling.*"

     //all integration tests, by naming convention
      includeTestsMatching "*IntegTest"

     //only ui tests from integration tests, by some naming convention
     includeTestsMatching "*IntegTest*ui"
   }
}

マルチフレーバー環境(Androidの一般的なユースケース)用。 この答えを確認する のように --tests の引数はサポートされていないため、エラーになります。