Test

Executes JUnit (3.8.x, 4.x or 5.x) or TestNG tests. Test are always run in (one or more) separate JVMs.

The sample below shows various configuration options.

plugins {
    id 'java' // adds 'test' task
}

test {
  // discover and execute JUnit4-based tests
  useJUnit()

  // discover and execute TestNG-based tests
  useTestNG()

  // discover and execute JUnit Platform-based tests
  useJUnitPlatform()

  // set a system property for the test JVM(s)
  systemProperty 'some.prop', 'value'

  // explicitly include or exclude tests
  include 'org/foo/**'
  exclude 'org/boo/**'

  // show standard out and standard error of the test JVM(s) on the console
  testLogging.showStandardStreams = true

  // set heap size for the test JVM(s)
  minHeapSize = "128m"
  maxHeapSize = "512m"

  // set JVM arguments for the test JVM(s)
  jvmArgs '-XX:MaxPermSize=256m'

  // listen to events in the test execution lifecycle
  beforeTest { descriptor ->
     logger.lifecycle("Running test: " + descriptor)
  }

  // fail the 'test' task on the first test failure
  failFast = true

  // skip an actual test execution
  dryRun = true

  // listen to standard out and standard error of the test JVM(s)
  onOutput { descriptor, event ->
     logger.lifecycle("Test: " + descriptor + " produced standard out/err: " + event.message )
  }
}

The test process can be started in debug mode (see getDebug) in an ad-hoc manner by supplying the `--debug-jvm` switch when invoking the build.

gradle someTestTask --debug-jvm

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
@get:Internal(value = "captured by stableClasspath")
open var classpath: FileCollection
Link copied to clipboard
open val conventionMapping: ConventionMapping
Link copied to clipboard
Link copied to clipboard
open var enabled: Boolean
Link copied to clipboard

The extra properties extension in this object's extension container.

Link copied to clipboard
open var forkEvery: Long
Link copied to clipboard
open var group: String
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val state: TaskStateInternal
Link copied to clipboard
val TASK_ACTION: String = "action"
Link copied to clipboard
val TASK_CONSTRUCTOR_ARGS: String = "constructorArgs"
Link copied to clipboard
val TASK_DEPENDS_ON: String = "dependsOn"
Link copied to clipboard
val TASK_DESCRIPTION: String = "description"
Link copied to clipboard
val TASK_GROUP: String = "group"
Link copied to clipboard
val TASK_NAME: String = "name"
Link copied to clipboard
val TASK_OVERWRITE: String = "overwrite"
Link copied to clipboard
val TASK_TYPE: String = "type"
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open fun acceptServiceReferences(serviceReferences: Set<ServiceReferenceSpec>)
Link copied to clipboard
open fun addTestListener(listener: TestListener)
Link copied to clipboard
Link copied to clipboard
open fun afterSuite(closure: Closure)
Link copied to clipboard
open fun afterTest(closure: Closure)
Link copied to clipboard
open fun appendParallelSafeAction(action: Action<in Task>)
Link copied to clipboard
open fun beforeSuite(closure: Closure)
Link copied to clipboard
open fun beforeTest(closure: Closure)
Link copied to clipboard
open fun bootstrapClasspath(classpath: Array<Any>): Test
Link copied to clipboard
open fun compareTo(otherTask: Task): Int
Link copied to clipboard
open fun configure(closure: Closure): Task
abstract fun configure(cl: Closure): T
Link copied to clipboard
inline fun <T : Any> ExtensionAware.configure(noinline configuration: T.() -> Unit)

Executes the given configuration block against the extension of the specified type.

Link copied to clipboard
open fun conventionMapping(property: String, mapping: Callable<out Any>): Task
Link copied to clipboard
open fun copyTo(target: JavaForkOptions): Test
open fun copyTo(target: ProcessForkOptions): Test
Link copied to clipboard
Link copied to clipboard
open fun dependsOn(paths: Array<Any>): Task
Link copied to clipboard
open fun doFirst(action: Action<in Task>): Task
Link copied to clipboard
open fun doLast(action: Action<in Task>): Task
Link copied to clipboard
open fun doNotTrackState(reasonNotToTrackState: String)
Link copied to clipboard
open fun environment(environmentVariables: Map<String, out Any>): Test
open fun environment(name: String, value: Any): Test
Link copied to clipboard
inline fun Test.environment(vararg environmentVariables: Pair<String, Any?>): Test

Kotlin extension function for org.gradle.api.tasks.testing.Test.environment.

inline fun ProcessForkOptions.environment(vararg environmentVariables: Pair<String, Any?>): ProcessForkOptions

Kotlin extension function for org.gradle.process.ProcessForkOptions.environment.

Link copied to clipboard
open fun exclude(excludeSpec: Closure): Test
open fun exclude(excludeSpec: Spec<FileTreeElement>): Test

open fun exclude(excludes: Iterable<String>): Test
open fun exclude(excludes: Array<String>): Test
Adds exclude patterns for the files in the test classes directory (e.g.
Link copied to clipboard
open fun executable(executable: Any): Test
Link copied to clipboard
open fun executeTests()
Link copied to clipboard
open fun filter(action: Action<TestFilter>)
Executes the action against the getFilter.
Link copied to clipboard
open fun finalizedBy(paths: Array<Any>): Task
Link copied to clipboard
open fun getActions(): List<Action<in Task>>
Link copied to clipboard
Link copied to clipboard
open fun getAnt(): AntBuilder
Link copied to clipboard
open fun getAsDynamicObject(): DynamicObject
Link copied to clipboard
Link copied to clipboard
Returns the classes files to scan for test classes.
Link copied to clipboard
Link copied to clipboard
open fun getDebug(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getDependsOn(): Set<Any>
Link copied to clipboard
Link copied to clipboard
open fun getDidWork(): Boolean
Link copied to clipboard
Indicates if this task will skip individual test execution.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Returns the exclude patterns for test execution.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getFailFast(): Boolean
Indicates if this task will fail on the first failed test
Link copied to clipboard
open fun getFilter(): TestFilter
Link copied to clipboard
Link copied to clipboard
open fun getIdentityPath(): Path
Link copied to clipboard
Returns the include patterns for test execution.
Link copied to clipboard
open fun getInputs(): TaskInputsInternal
abstract fun getInputs(): TaskInputs
Link copied to clipboard
Returns the version of Java used to run the tests based on the JavaLauncher specified by getJavaLauncher, or the executable specified by getExecutable if the JavaLauncher is not present.
Link copied to clipboard
open fun getJvmArgs(): List<String>
Link copied to clipboard
open fun getLifecycleDependencies(): TaskDependencyInternal
Link copied to clipboard
Link copied to clipboard
open fun getLogger(): Logger
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getName(): String
Link copied to clipboard
open fun getOnlyIf(): Spec<in TaskInternal>
Link copied to clipboard
Returns test framework specific options.
Link copied to clipboard
open fun getOutputs(): TaskOutputsInternal
abstract fun getOutputs(): TaskOutputs
Link copied to clipboard
open fun getPath(): String
Link copied to clipboard
open fun getProject(): Project
Link copied to clipboard
Link copied to clipboard
abstract fun getReports(): T
Link copied to clipboard
open fun getRequiredServices(): TaskRequiredServices
Link copied to clipboard
open fun getSharedResources(): List<ResourceLock>
abstract fun getSharedResources(): List<out ResourceLock>
Link copied to clipboard
Link copied to clipboard
open fun getStandardOutputCapture(): StandardOutputCapture
Link copied to clipboard
abstract fun getState(): TaskState
Link copied to clipboard
Link copied to clipboard
open fun getTaskActions(): List<InputChangesAwareTaskAction>
Link copied to clipboard
open fun getTaskDependencies(): TaskDependencyInternal
Link copied to clipboard
open fun getTaskIdentity(): TaskIdentity<out Any>
Link copied to clipboard
open fun getTemporaryDir(): File
Link copied to clipboard
open fun getTemporaryDirFactory(): Factory<File>
Link copied to clipboard
open fun getTestFramework(): TestFramework
Link copied to clipboard
open fun getTestFrameworkProperty(): Property<TestFramework>
Returns the configured TestFramework.
Link copied to clipboard
Link copied to clipboard
open fun hasProperty(propertyName: String): Boolean
Link copied to clipboard
Link copied to clipboard
open fun include(includeSpec: Closure): Test
open fun include(includeSpec: Spec<FileTreeElement>): Test

open fun include(includes: Iterable<String>): Test
open fun include(includes: Array<String>): Test
Adds include patterns for the files in the test classes directory (e.g.
Link copied to clipboard
open fun <T : Task?> injectIntoNewInstance(project: ProjectInternal, identity: TaskIdentity<T>, factory: Callable<T>): T
Link copied to clipboard
open fun isEnabled(): Boolean
Link copied to clipboard
Link copied to clipboard
Specifies whether test classes should be detected.
Link copied to clipboard
open fun jvmArgs(arguments: Iterable<out Any>): Test
open fun jvmArgs(arguments: Array<Any>): Test
Link copied to clipboard
open fun mustRunAfter(paths: Array<Any>): Task
Link copied to clipboard
Link copied to clipboard
open fun onlyIf(spec: Spec<in Task>)
Link copied to clipboard
open fun onOutput(closure: Closure)
Link copied to clipboard
open fun options(@DelegatesTo(value = TestFrameworkOptions::class) testFrameworkConfigure: Closure): TestFrameworkOptions
open fun options(testFrameworkConfigure: Action<in TestFrameworkOptions>): TestFrameworkOptions
Configures test framework specific options.
Link copied to clipboard
open fun prependParallelSafeAction(action: Action<in Task>)
Link copied to clipboard
open fun property(propertyName: String): Any
Link copied to clipboard
open fun removeTestListener(listener: TestListener)
Link copied to clipboard
Link copied to clipboard
abstract fun reports(closure: Closure): T
open fun reports(closure: Closure): TestTaskReports
Link copied to clipboard
open fun setActions(replacements: List<Action<in Task>>)
Link copied to clipboard
open fun setAllJvmArgs(arguments: Iterable<out Any>)
open fun setAllJvmArgs(arguments: List<String>)
Link copied to clipboard
Link copied to clipboard
open fun setDebug(enabled: Boolean)
Link copied to clipboard
open fun setDefaultCharacterEncoding(defaultCharacterEncoding: String)
Link copied to clipboard
open fun setDependsOn(dependsOn: Iterable<out Any>)
Link copied to clipboard
open fun setDidWork(didWork: Boolean)
Link copied to clipboard
open fun setEnableAssertions(enabled: Boolean)
Link copied to clipboard
open fun setEnvironment(environmentVariables: Map<String, out Any>)
Link copied to clipboard
inline fun ProcessForkOptions.setEnvironment(vararg environmentVariables: Pair<String, Any?>)

Kotlin extension function for org.gradle.process.ProcessForkOptions.setEnvironment.

Link copied to clipboard
open fun setExcludes(excludes: Iterable<String>): Test
Sets the exclude patterns for test execution.
Link copied to clipboard
open fun setExecutable(executable: Any)
open fun setExecutable(executable: String)
Link copied to clipboard
open fun setFailFast(failFast: Boolean)
Enables fail fast behavior causing the task to fail on the first failed test.
Link copied to clipboard
open fun setFinalizedBy(finalizedByTasks: Iterable<out Any>)
Link copied to clipboard
open fun setForkEvery(@Nullable forkEvery: Long)
Sets the maximum number of test classes to execute in a forked test process.
Link copied to clipboard
open fun setIncludes(includes: Iterable<String>): Test
Sets the include patterns for test execution.
Link copied to clipboard
open fun setJvmArgs(arguments: Iterable<out Any>)
open fun setJvmArgs(arguments: List<String>)
Link copied to clipboard
open fun setMaxHeapSize(heapSize: String)
Link copied to clipboard
open fun setMinHeapSize(heapSize: String)
Link copied to clipboard
open fun setMustRunAfter(mustRunAfterTasks: Iterable<out Any>)
Link copied to clipboard
open fun setOnlyIf(spec: Spec<in Task>)
Link copied to clipboard
open fun setProperty(name: String, value: Any)
Link copied to clipboard
open fun setScanForTestClasses(scanForTestClasses: Boolean)
Link copied to clipboard
open fun setShouldRunAfter(shouldRunAfterTasks: Iterable<out Any>)
Link copied to clipboard
open fun setSystemProperties(properties: Map<String, out Any>)
Link copied to clipboard
open fun setTestNameIncludePatterns(testNamePattern: List<String>): Test
Link copied to clipboard
open fun setWorkingDir(dir: File)
open fun setWorkingDir(dir: Any)
Link copied to clipboard
Link copied to clipboard
open fun systemProperties(properties: Map<String, out Any>): Test
Link copied to clipboard
inline fun Test.systemProperties(vararg properties: Pair<String, Any?>): Test

Kotlin extension function for org.gradle.api.tasks.testing.Test.systemProperties.

inline fun JavaForkOptions.systemProperties(vararg properties: Pair<String, Any?>): JavaForkOptions

Kotlin extension function for org.gradle.process.JavaForkOptions.systemProperties.

Link copied to clipboard
open fun systemProperty(name: String, value: Any): Test
Link copied to clipboard
open fun testFramework(@Nullable testFrameworkConfigure: Closure): TestFramework
Link copied to clipboard
open fun testLogging(closure: Closure)
Link copied to clipboard
inline fun <T : Any> ExtensionAware.the(): T

Returns the extension of the specified type.

fun <T : Any> ExtensionAware.the(extensionType: KClass<T>): T

Returns the extension of the specified extensionType.

Link copied to clipboard
open fun useJUnit()
Specifies that JUnit4 should be used to discover and execute the tests.
open fun useJUnit(@Nullable @DelegatesTo(value = JUnitOptions::class) testFrameworkConfigure: Closure)
open fun useJUnit(testFrameworkConfigure: Action<in JUnitOptions>)
Specifies that JUnit4 should be used to discover and execute the tests with additional configuration.
Link copied to clipboard
open fun useJUnitPlatform()
Specifies that JUnit Platform should be used to discover and execute the tests.
open fun useJUnitPlatform(testFrameworkConfigure: Action<in JUnitPlatformOptions>)
Specifies that JUnit Platform should be used to discover and execute the tests with additional configuration.
Link copied to clipboard
open fun usesService(service: Provider<out BuildService<out Any>>)
Link copied to clipboard
open fun useTestNG()
Specifies that TestNG should be used to discover and execute the tests.
open fun useTestNG(@DelegatesTo(value = TestNGOptions::class) testFrameworkConfigure: Closure)
open fun useTestNG(testFrameworkConfigure: Action<in TestNGOptions>)
Specifies that TestNG should be used to discover and execute the tests with additional configuration.
Link copied to clipboard
open fun workingDir(dir: Any): Test