Interface TestFilter


@Incubating public interface TestFilter
Allows filtering tests for execution. Some examples:
   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"

          //specific test class and test method
          includeTest "org.gradle.SomeTest", "someTestMethod"
       }
   }

 
Since:
1.10
  • Method Details

    • includeTestsMatching

      TestFilter includeTestsMatching(String testNamePattern)
      Appends a test name pattern to the filter. Wildcard '*' is supported, either test method name or class name is supported. Examples of test names: "com.foo.FooTest.someMethod", "com.foo.FooTest", "*FooTest*", "com.foo*". See examples in the docs for TestFilter.
      Parameters:
      testNamePattern - test name pattern to include, can be class or method name, can contain wildcard '*'
      Returns:
      this filter object
    • getIncludePatterns

      @Input Set<String> getIncludePatterns()
      Returns the included test name patterns. They can be class or method names and may contain wildcard '*'. Test name patterns can be appended via includeTestsMatching(String) or set via setIncludePatterns(String...).
      Returns:
      included test name patterns
    • setIncludePatterns

      TestFilter setIncludePatterns(String... testNamePatterns)
      Sets the test name patterns to be included in the filter. Wildcard '*' is supported. Replaces any existing test name patterns.
      Parameters:
      testNamePatterns - class or method name patterns to set, may contain wildcard '*'
      Returns:
      this filter object
    • includeTest

      TestFilter includeTest(String className, String methodName)
      Add a test method specified by test class name and method name.
      Parameters:
      className - the class name of the test to execute
      methodName - the method name of the test to execute. Can be null.
      Returns:
      this filter object
    • setFailOnNoMatchingTests

      void setFailOnNoMatchingTests(boolean failOnNoMatchingTests)
      Let the test task fail if a filter configuration was provided but no test matched the given configuration.
      Parameters:
      failOnNoMatchingTests - whether a test task should fail if no test is matching the filter configuration.
    • isFailOnNoMatchingTests

      @Input boolean isFailOnNoMatchingTests()
      Returns whether the task should fail if no matching tests where found. The default is true.