Class AbstractTestTask

  • All Implemented Interfaces:
    Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.IConventionAware, org.gradle.api.internal.TaskInternal, ExtensionAware, Reporting<TestTaskReports>, Task, VerificationTask, org.gradle.util.Configurable<Task>
    Direct Known Subclasses:
    Test, XcTest

    public abstract class AbstractTestTask
    extends org.gradle.api.internal.ConventionTask
    implements VerificationTask, Reporting<TestTaskReports>
    Abstract class for all test task.
    • 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
    • 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.
      File getBinResultsDir()
      Returns the root folder for the test results in internal binary format.
      protected org.gradle.internal.operations.BuildOperationExecutor getBuildOperationExecutor()  
      boolean getIgnoreFailures()
      Specifies whether the build should break when the verifications performed by this task fail.
      protected org.gradle.internal.remote.internal.inet.InetAddressFactory getInetAddressFactory()  
      protected org.gradle.internal.reflect.Instantiator getInstantiator()  
      protected org.gradle.internal.event.ListenerManager getListenerManager()  
      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 setBinResultsDir​(File binResultsDir)
      Sets the root folder for the test results in internal binary format.
      void setIgnoreFailures​(boolean ignoreFailures)
      Specifies whether the build should break when the verifications performed by this task fail.
      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.internal.AbstractTask

        addValidator, appendParallelSafeAction, compareTo, configure, deleteAllActions, dependsOn, dependsOnTaskDidWork, doFirst, doFirst, doFirst, doLast, doLast, doLast, execute, finalizedBy, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExecuter, getExtensions, getFinalizedBy, getGroup, getIdentityPath, getImpliesSubProjects, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOnlyIf, getOutputs, getPath, getProject, getServices, getShouldRunAfter, getStandardOutputCapture, getState, getTaskActions, getTaskDependencies, getTemporaryDir, getTemporaryDirFactory, getValidators, hasProperty, injectIntoNewInstance, isEnabled, isHasCustomActions, leftShift, mustRunAfter, onlyIf, onlyIf, prependParallelSafeAction, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setExecuter, setFinalizedBy, setGroup, setImpliesSubProjects, setMustRunAfter, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, toString
    • Constructor Detail

      • AbstractTestTask

        public AbstractTestTask()
    • Method Detail

      • getProgressLoggerFactory

        @Inject
        protected org.gradle.internal.logging.progress.ProgressLoggerFactory getProgressLoggerFactory()
      • getTextOutputFactory

        @Inject
        protected org.gradle.internal.logging.text.StyledTextOutputFactory getTextOutputFactory()
      • getInetAddressFactory

        @Inject
        protected org.gradle.internal.remote.internal.inet.InetAddressFactory getInetAddressFactory()
      • 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()
      • createTestExecuter

        @Incubating
        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

        @Incubating
        protected abstract org.gradle.api.internal.tasks.testing.TestExecutionSpec createTestExecutionSpec()
        Creates test execution specification. For internal use only.
        Since:
        4.4
      • getBinResultsDir

        @OutputDirectory
        @Incubating
        public File getBinResultsDir()
        Returns the root folder for the test results in internal binary format.
        Returns:
        the test result directory, containing the test results in binary format.
      • setBinResultsDir

        @Incubating
        public void setBinResultsDir​(File binResultsDir)
        Sets the root folder for the test results in internal binary format.
        Parameters:
        binResultsDir - The root folder
      • getBinaryResultsDirectory

        @Internal
        @Incubating
        public DirectoryProperty getBinaryResultsDirectory()
        Returns the root directory property for the test results in internal binary format.
        Since:
        4.4
      • addTestOutputListener

        public void addTestOutputListener​(TestOutputListener listener)
        Registers a output listener with this task. Quicker way of hooking into output events is using the onOutput(groovy.lang.Closure) method.
        Parameters:
        listener - The listener to add.
      • getIgnoreFailures

        @Internal
        public boolean getIgnoreFailures()
        Specifies whether the build should break when the verifications performed by this task fail.
        Specified by:
        getIgnoreFailures in interface VerificationTask
        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 interface VerificationTask
        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. A TestDescriptor and TestOutputEvent 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 and TestResult 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. A TestDescriptor 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. A TestDescriptor and TestResult instance are passed to the closure as a parameter.
        Parameters:
        closure - The closure to call.
      • getTestLogging

        @Internal
        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 see TestLoggingContainer.
        Returns:
        this
      • testLogging

        public void testLogging​(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()
      • reports

        public TestTaskReports reports​(Closure closure)
        Configures the reports that this task potentially produces.
        Specified by:
        reports in interface Reporting<TestTaskReports>
        Parameters:
        closure - The configuration
        Returns:
        The reports that this task potentially produces