Package org.gradle.api.tasks.testing
Class AbstractTestTask
- java.lang.Object
-
- org.gradle.api.internal.AbstractTask
-
- org.gradle.api.DefaultTask
-
- org.gradle.api.internal.ConventionTask
-
- org.gradle.api.tasks.testing.AbstractTestTask
-
- All Implemented Interfaces:
java.lang.Comparable<Task>
,org.gradle.api.internal.DynamicObjectAware
,org.gradle.api.internal.IConventionAware
,org.gradle.api.internal.TaskInternal
,Named
,ExtensionAware
,Reporting<TestTaskReports>
,Task
,VerificationTask
,Configurable<Task>
@DisableCachingByDefault(because="Abstract super-class, not to be instantiated directly") public abstract class AbstractTestTask extends org.gradle.api.internal.ConventionTask implements VerificationTask, Reporting<TestTaskReports>
Abstract class for all test tasks.- Support for test listeners
- Support for reporting
- Support for report linking in the console output
Note: This abstract class is not intended for implementation by build script or plugin authors.
- Since:
- 4.4
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.gradle.api.Task
Task.Namer
-
-
Field Summary
-
Fields inherited from interface org.gradle.api.Task
TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE
-
-
Constructor Summary
Constructors Constructor Description AbstractTestTask()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addTestListener(TestListener listener)
Registers a test listener with this task.void
addTestOutputListener(TestOutputListener listener)
Registers a output listener with this task.void
afterSuite(Closure closure)
Adds a closure to be notified after a test suite has executed.void
afterTest(Closure closure)
Adds a closure to be notified after a test has executed.void
beforeSuite(Closure closure)
Adds a closure to be notified before a test suite is executed.void
beforeTest(Closure closure)
Adds a closure to be notified before a test is executed.protected abstract org.gradle.api.internal.tasks.testing.TestExecuter<? extends org.gradle.api.internal.tasks.testing.TestExecutionSpec>
createTestExecuter()
Creates test executer.protected abstract org.gradle.api.internal.tasks.testing.TestExecutionSpec
createTestExecutionSpec()
Creates test execution specification.void
executeTests()
DirectoryProperty
getBinaryResultsDirectory()
Returns the root directory property for the test results in internal binary format.protected org.gradle.internal.operations.BuildOperationExecutor
getBuildOperationExecutor()
protected org.gradle.internal.operations.BuildOperationRunner
getBuildOperationRunner()
protected FileSystemOperations
getFileSystemOperations()
TestFilter
getFilter()
Allows filtering tests for execution.protected org.gradle.internal.nativeintegration.network.HostnameLookup
getHostnameLookup()
boolean
getIgnoreFailures()
Specifies whether the build should break when the verifications performed by this task fail.protected org.gradle.internal.reflect.Instantiator
getInstantiator()
protected org.gradle.internal.event.ListenerManager
getListenerManager()
protected java.util.List<java.lang.String>
getNoMatchingTestErrorReasons()
Returns the reasons for no matching test error.protected org.gradle.internal.logging.progress.ProgressLoggerFactory
getProgressLoggerFactory()
TestTaskReports
getReports()
The reports that this task potentially produces.TestLoggingContainer
getTestLogging()
Allows to set options related to which test events are logged to the console, and on which detail level.protected org.gradle.internal.logging.text.StyledTextOutputFactory
getTextOutputFactory()
void
onOutput(Closure closure)
Adds a closure to be notified when output from the test received.void
removeTestListener(TestListener listener)
Unregisters a test listener with this task.void
removeTestOutputListener(TestOutputListener listener)
Unregisters a test output listener with this task.TestTaskReports
reports(Closure closure)
Configures the reports that this task potentially produces.TestTaskReports
reports(Action<? super TestTaskReports> configureAction)
Configures the reports that this task potentially produces.void
setIgnoreFailures(boolean ignoreFailures)
Specifies whether the build should break when the verifications performed by this task fail.AbstractTestTask
setTestNameIncludePatterns(java.util.List<java.lang.String> testNamePattern)
Sets the test name patterns to be included in execution.void
testLogging(Closure closure)
Allows configuring the logging of the test execution, for example log eagerly the standard output, etc.void
testLogging(Action<? super TestLoggingContainer> action)
Allows configuring the logging of the test execution, for example log eagerly the standard output, etc.-
Methods inherited from class org.gradle.api.internal.ConventionTask
conventionMapping, conventionMapping, getConventionMapping
-
Methods inherited from class org.gradle.api.DefaultTask
compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService
-
Methods inherited from class org.gradle.api.internal.AbstractTask
acceptServiceReferences, appendParallelSafeAction, doNotTrackState, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjects
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.gradle.api.Task
doNotTrackState, getConvention, notCompatibleWithConfigurationCache
-
-
-
-
Method Detail
-
getProgressLoggerFactory
@Inject protected org.gradle.internal.logging.progress.ProgressLoggerFactory getProgressLoggerFactory()
-
getTextOutputFactory
@Inject protected org.gradle.internal.logging.text.StyledTextOutputFactory getTextOutputFactory()
-
getHostnameLookup
@Inject protected org.gradle.internal.nativeintegration.network.HostnameLookup getHostnameLookup()
-
getBuildOperationRunner
@Inject protected org.gradle.internal.operations.BuildOperationRunner getBuildOperationRunner()
-
getBuildOperationExecutor
@Inject protected org.gradle.internal.operations.BuildOperationExecutor getBuildOperationExecutor()
-
getInstantiator
@Inject protected org.gradle.internal.reflect.Instantiator getInstantiator()
-
getListenerManager
@Inject protected org.gradle.internal.event.ListenerManager getListenerManager()
-
getFileSystemOperations
@Inject protected FileSystemOperations getFileSystemOperations()
-
createTestExecuter
protected abstract org.gradle.api.internal.tasks.testing.TestExecuter<? extends org.gradle.api.internal.tasks.testing.TestExecutionSpec> createTestExecuter()
Creates test executer. For internal use only.- Since:
- 4.4
-
createTestExecutionSpec
protected abstract org.gradle.api.internal.tasks.testing.TestExecutionSpec createTestExecutionSpec()
Creates test execution specification. For internal use only.- Since:
- 4.4
-
getBinaryResultsDirectory
@OutputDirectory public DirectoryProperty getBinaryResultsDirectory()
Returns the root directory property for the test results in internal binary format.- Since:
- 4.4
-
addTestListener
public void addTestListener(TestListener listener)
Registers a test listener with this task. Consider also the following handy methods for quicker hooking into test execution:beforeTest(groovy.lang.Closure)
,afterTest(groovy.lang.Closure)
,beforeSuite(groovy.lang.Closure)
,afterSuite(groovy.lang.Closure)
This listener will NOT be notified of tests executed by other tasks. To get that behavior, use
Gradle.addListener(Object)
.- Parameters:
listener
- The listener to add.
-
addTestOutputListener
public void addTestOutputListener(TestOutputListener listener)
Registers a output listener with this task. Quicker way of hooking into output events is using theonOutput(groovy.lang.Closure)
method.- Parameters:
listener
- The listener to add.
-
removeTestListener
public void removeTestListener(TestListener listener)
Unregisters a test listener with this task. This method will only remove listeners that were added by callingaddTestListener(TestListener)
on this task. If the listener was registered with Gradle usingGradle.addListener(Object)
this method will not do anything. Instead, useGradle.removeListener(Object)
.- Parameters:
listener
- The listener to remove.
-
removeTestOutputListener
public void removeTestOutputListener(TestOutputListener listener)
Unregisters a test output listener with this task. This method will only remove listeners that were added by callingaddTestOutputListener(TestOutputListener)
on this task. If the listener was registered with Gradle usingGradle.addListener(Object)
this method will not do anything. Instead, useGradle.removeListener(Object)
.- Parameters:
listener
- The listener to remove.
-
getIgnoreFailures
@Internal public boolean getIgnoreFailures()
Specifies whether the build should break when the verifications performed by this task fail.- Specified by:
getIgnoreFailures
in interfaceVerificationTask
- Returns:
- false, when the build should break on failure, true when the failures should be ignored.
-
setIgnoreFailures
public void setIgnoreFailures(boolean ignoreFailures)
Specifies whether the build should break when the verifications performed by this task fail.- Specified by:
setIgnoreFailures
in interfaceVerificationTask
- Parameters:
ignoreFailures
- false to break the build on failure, true to ignore the failures. The default is false.
-
onOutput
public void onOutput(Closure closure)
Adds a closure to be notified when output from the test received. ATestDescriptor
andTestOutputEvent
instance are passed to the closure as a parameter.apply plugin: 'java' test { onOutput { descriptor, event -> if (event.destination == TestOutputEvent.Destination.StdErr) { logger.error("Test: " + descriptor + ", error: " + event.message) } } }
- Parameters:
closure
- The closure to call.
-
beforeSuite
public void beforeSuite(Closure closure)
Adds a closure to be notified before a test suite is executed. A
TestDescriptor
instance is passed to the closure as a parameter.This method is also called before any test suites are executed. The provided descriptor will have a null parent suite.
- Parameters:
closure
- The closure to call.
-
afterSuite
public void afterSuite(Closure closure)
Adds a closure to be notified after a test suite has executed. A
TestDescriptor
andTestResult
instance are passed to the closure as a parameter.This method is also called after all test suites are executed. The provided descriptor will have a null parent suite.
- Parameters:
closure
- The closure to call.
-
beforeTest
public void beforeTest(Closure closure)
Adds a closure to be notified before a test is executed. ATestDescriptor
instance is passed to the closure as a parameter.- Parameters:
closure
- The closure to call.
-
afterTest
public void afterTest(Closure closure)
Adds a closure to be notified after a test has executed. ATestDescriptor
andTestResult
instance are passed to the closure as a parameter.- Parameters:
closure
- The closure to call.
-
getTestLogging
public TestLoggingContainer getTestLogging()
Allows to set options related to which test events are logged to the console, and on which detail level. For example, to show more information about exceptions use:apply plugin: 'java' test.testLogging { exceptionFormat "full" }
For further information seeTestLoggingContainer
.- Returns:
- this
-
testLogging
public void testLogging(@DelegatesTo(TestLoggingContainer.class) Closure closure)
Allows configuring the logging of the test execution, for example log eagerly the standard output, etc.apply plugin: 'java' // makes the standard streams (err and out) visible at console when running tests test.testLogging { showStandardStreams = true }
- Parameters:
closure
- configure closure
-
testLogging
public void testLogging(Action<? super TestLoggingContainer> action)
Allows configuring the logging of the test execution, for example log eagerly the standard output, etc.apply plugin: 'java' // makes the standard streams (err and out) visible at console when running tests test.testLogging { showStandardStreams = true }
- Parameters:
action
- configure action- Since:
- 3.5
-
executeTests
public void executeTests()
-
getNoMatchingTestErrorReasons
@Internal protected java.util.List<java.lang.String> getNoMatchingTestErrorReasons()
Returns the reasons for no matching test error.- Since:
- 4.5
-
setTestNameIncludePatterns
public AbstractTestTask setTestNameIncludePatterns(java.util.List<java.lang.String> testNamePattern)
Sets the test name patterns to be included in execution. Classes or method names are supported, wildcard '*' is supported. For more information see the user guide chapter on testing. For more information on supported patterns seeTestFilter
-
getReports
public TestTaskReports getReports()
The reports that this task potentially produces.- Specified by:
getReports
in interfaceReporting<TestTaskReports>
- Returns:
- The reports that this task potentially produces
-
reports
public TestTaskReports reports(Closure closure)
Configures the reports that this task potentially produces.- Specified by:
reports
in interfaceReporting<TestTaskReports>
- Parameters:
closure
- The configuration- Returns:
- The reports that this task potentially produces
-
reports
public TestTaskReports reports(Action<? super TestTaskReports> configureAction)
Configures the reports that this task potentially produces.- Specified by:
reports
in interfaceReporting<TestTaskReports>
- Parameters:
configureAction
- The configuration- Returns:
- The reports that this task potentially produces
-
getFilter
public TestFilter getFilter()
Allows filtering tests for execution.- Returns:
- filter object
- Since:
- 1.10
-
-