Package org.gradle.api.tasks.testing
Interface TestFilter
-
public interface TestFilterAllows 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 TestFilterexcludeTest(java.lang.String className, java.lang.String methodName)Excludes a test method specified by test class name and method name.TestFilterexcludeTestsMatching(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.TestFilterincludeTest(java.lang.String className, java.lang.String methodName)Add a test method specified by test class name and method name.TestFilterincludeTestsMatching(java.lang.String testNamePattern)Appends a test name pattern to the inclusion filter.booleanisFailOnNoMatchingTests()Returns whether the task should fail if no matching tests where found.TestFiltersetExcludePatterns(java.lang.String... testNamePatterns)Sets the test name patterns to be excluded in the filter.voidsetFailOnNoMatchingTests(boolean failOnNoMatchingTests)Let the test task fail if a filter configuration was provided but no test matched the given configuration.TestFiltersetIncludePatterns(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.
-
-