TestOptions

interface TestOptions

Options for running tests.

Summary

Public functions

@Incubating Unit
@Incubating Unit
@Incubating Unit

This function is deprecated. Renamed to emulatorSnapshots

@Incubating Unit

Configures Gradle Managed Devices for use in testing with the Unified test platform.

Unit

Options for controlling unit tests execution.

Public properties

Boolean

Disables animations during instrumented tests you run from the command line.

NamedDomainObjectContainer<DeviceGroup>

This property is deprecated. deviceGroups is deprecated in testOptions, use managedDevices.groups instead

ExtensiblePolymorphicDomainObjectContainer<Device>

This property is deprecated. devices is deprecated in testOptions, use managedDevices.devices instead

EmulatorControl

Configures Android Emulator Grpc Access

EmulatorSnapshots

Configures Android Test Retention.

String

Specifies whether to use on-device test orchestration.

FailureRetention

This property is deprecated. Renamed to emulatorSnapshots

ManagedDevices

Configures Gradle Managed Devices for use in testing with the Unified test platform.

String?

Name of the reports directory.

String?

Name of the results directory.

Int?

Specifies value that overrides target sdk version number for tests in libraries.

String?

Specifies value that overrides target sdk preview number for tests in libraries.

UnitTestOptions

Options for controlling unit tests execution.

Public functions

emulatorControl

@Incubating
fun emulatorControl(action: @ExtensionFunctionType EmulatorControl.() -> Unit): Unit

emulatorSnapshots

@Incubating
fun emulatorSnapshots(action: @ExtensionFunctionType EmulatorSnapshots.() -> Unit): Unit

failureRetention

@Incubating
fun failureRetention(action: @ExtensionFunctionType FailureRetention.() -> Unit): Unit

managedDevices

@Incubating
fun managedDevices(action: @ExtensionFunctionType ManagedDevices.() -> Unit): Unit

Configures Gradle Managed Devices for use in testing with the Unified test platform.

unitTests

fun unitTests(action: @ExtensionFunctionType UnitTestOptions.() -> Unit): Unit

Options for controlling unit tests execution.

Public properties

animationsDisabled

var animationsDisabledBoolean

Disables animations during instrumented tests you run from the command line.

If you set this property to true, running instrumented tests with Gradle from the command line executes am instrument with the --no-window-animation flag. By default, this property is set to false.

This property does not affect tests that you run using Android Studio. To learn more about running tests from the command line, see Test from the Command Line.

deviceGroups

val deviceGroupsNamedDomainObjectContainer<DeviceGroup>

List of DeviceGroups that can be run through connected check, using the Unified Test Platform.

DeviceGroups with individual devices are added automatically, with the same name of the individual device.

These APIs are experimental and may change without notice.

deviceGroups is deprecated, use managedDevices.groups to specify groups of Gradle Managed Devices.

devices

val devicesExtensiblePolymorphicDomainObjectContainer<Device>

List of test devices for this project for use with the Unified Test Platform

These APIs are experimental and may change without notice.

devices is deprecated, use managedDevices.devices to specify Gradle Managed Devices

emulatorControl

val emulatorControlEmulatorControl

Configures Android Emulator Grpc Access

Android Emulator Grpc Access will make it possible to interact with the emulator over gRPC

android {
emulatorControl {
enable true
secondsValid 180
allowedEndpoints.addAll(
"/android.emulation.control.EmulatorController/getStatus",
"/android.emulation.control.EmulatorController/getVmState")
}
}

emulatorSnapshots

val emulatorSnapshotsEmulatorSnapshots

Configures Android Test Retention.

Android Test Retention automatically takes emulator snapshots on test failures. It can only work with Unified Test Platform (UTP).

android {
testOptions {
emulatorSnapshots {
enableForTestFailures true
maxSnapshotsForTestFailures 2
compressSnapshots false
}
}
}

execution

var executionString

Specifies whether to use on-device test orchestration.

If you want to use Android Test Orchestrator you need to specify "ANDROID_TEST_ORCHESTRATOR", as shown below. By default, this property is set to "HOST", which disables on-device orchestration.

android {
testOptions {
execution 'ANDROID_TEST_ORCHESTRATOR'
}
}

since 3.0.0

failureRetention

val failureRetentionFailureRetention

managedDevices

val managedDevicesManagedDevices

Configures Gradle Managed Devices for use in testing with the Unified test platform.

reportDir

var reportDirString?

Name of the reports directory.

resultsDir

var resultsDirString?

Name of the results directory.

targetSdk

var targetSdkInt?

Specifies value that overrides target sdk version number for tests in libraries. Default value is set to minSdk. Important: Setting this value will cause an error for application and other module types.

targetSdkPreview

var targetSdkPreviewString?

Specifies value that overrides target sdk preview number for tests in libraries. Default value is empty. Important: Setting this value will cause an error for application and other module types.

unitTests

val unitTestsUnitTestOptions

Options for controlling unit tests execution.