Package org.gradle.api.tasks.testing
Interface TestFilter
-
public interface TestFilter
Allows filtering tests for execution. Some examples:apply plugin: 'java' test { filter { //specific test class, this can match 'SomeTest' class and corresponding method under any package includeTestsMatching "SomeTest" includeTestsMatching "SomeTest.someTestMethod*" //specific test class includeTestsMatching "org.gradle.SomeTest" //specific test class and method includeTestsMatching "org.gradle.SomeTest.someSpecificFeature" includeTest "org.gradle.SomeTest", "someTestMethod" //specific test method, use wildcard includeTestsMatching "*SomeTest.someSpecificFeature" //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" //exclude a specific test by its name excludeTestsMatching "*canDoSomethingSpecific" //excluding tests by name also works for test names which have spaces excludeTestsMatching "*can do something specific" } }
- Since:
- 1.10
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description TestFilter
excludeTest(java.lang.String className, java.lang.String methodName)
Excludes a test method specified by test class name and method name.TestFilter
excludeTestsMatching(java.lang.String testNamePattern)
Appends a test name pattern to the exclusion filter.java.util.Set<java.lang.String>
getExcludePatterns()
Returns the excluded test name patterns.java.util.Set<java.lang.String>
getIncludePatterns()
Returns the included test name patterns.TestFilter
includeTest(java.lang.String className, java.lang.String methodName)
Add a test method specified by test class name and method name.TestFilter
includeTestsMatching(java.lang.String testNamePattern)
Appends a test name pattern to the inclusion filter.boolean
isFailOnNoMatchingTests()
Returns whether the task should fail if no matching tests where found.TestFilter
setExcludePatterns(java.lang.String... testNamePatterns)
Sets the test name patterns to be excluded in the filter.void
setFailOnNoMatchingTests(boolean failOnNoMatchingTests)
Let the test task fail if a filter configuration was provided but no test matched the given configuration.TestFilter
setIncludePatterns(java.lang.String... testNamePatterns)
Sets the test name patterns to be included in the filter.
-
-
-
Method Detail
-
includeTestsMatching
TestFilter includeTestsMatching(java.lang.String testNamePattern)
Appends a test name pattern to the inclusion 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 forTestFilter
.- Parameters:
testNamePattern
- test name pattern to include, can be class or method name, can contain wildcard '*'- Returns:
- this filter object
-
excludeTestsMatching
TestFilter excludeTestsMatching(java.lang.String testNamePattern)
Appends a test name pattern to the exclusion 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*", "*someTestMethod". See examples in the docs forTestFilter
.- Parameters:
testNamePattern
- test name pattern to exclude, can be class or method name, can contain wildcard '*'- Returns:
- this filter object
- Since:
- 5.0
-
getIncludePatterns
@Input java.util.Set<java.lang.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 viaincludeTestsMatching(String)
or set viasetIncludePatterns(String...)
.- Returns:
- included test name patterns
-
getExcludePatterns
@Input java.util.Set<java.lang.String> getExcludePatterns()
Returns the excluded test name patterns. They can be class or method names and may contain wildcard '*'. Test name patterns can be appended viaexcludeTestsMatching(String)
or set viasetExcludePatterns(String...)
.- Returns:
- included test name patterns
- Since:
- 5.0
-
setIncludePatterns
TestFilter setIncludePatterns(java.lang.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
-
setExcludePatterns
TestFilter setExcludePatterns(java.lang.String... testNamePatterns)
Sets the test name patterns to be excluded 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
- Since:
- 5.0
-
includeTest
TestFilter includeTest(java.lang.String className, java.lang.String methodName)
Add a test method specified by test class name and method name.- Parameters:
className
- the class name of the test to executemethodName
- the method name of the test to execute. Can be null.- Returns:
- this filter object
-
excludeTest
TestFilter excludeTest(java.lang.String className, java.lang.String methodName)
Excludes a test method specified by test class name and method name.- Parameters:
className
- the class name of the test to excludemethodName
- the method name of the test to exclude. Can be null.- Returns:
- this filter object
- Since:
- 5.0
-
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.
-
-