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 Detail

      • 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
      • 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.