# TestFailurePolicy

Artifact: [androidx.compose.ui:ui-test](https://developer.android.com/jetpack/androidx/releases/compose-ui) [View Source](https://cs.android.com/search?q=file:androidx/compose/ui/test/ComposeUiTestConfig.+class:androidx.compose.ui.test.TestFailurePolicy) Added in [1.13.0-rc01](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.13.0-rc01) Common/AllAndroid/JVM
- Cmn

  ```
  class TestFailurePolicy
  ```

*** ** * ** ***

Configuration for the failure handling pipeline in Compose UI tests.

A `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailurePolicy` dictates what diagnostic artifacts the testing framework should capture when a test fails (such as screenshots or UI tree dumps), and provides a mechanism to execute custom `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailureHandler`s to process those artifacts or report the failure.

By default, the capture modes are set to `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailurePolicy.CaptureMode#Unspecified()`. This means the framework will fall back to the suite-level runner configuration (e.g., Instrumentation arguments on Android) to determine if artifacts should be generated. Setting a mode explicitly to `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailurePolicy.CaptureMode#Enabled()` or `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailurePolicy.CaptureMode#Disabled()` will override the suite-level configuration for the specific test using this policy.

## Summary

| ### Nested types |
|---|
| `value class https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailurePolicy.CaptureMode` Represents a tri-state flag for failure artifact captures, allowing individual test configurations to explicitly override or fall back to suite-level runner arguments. |

| ### Public constructors |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailurePolicy#TestFailurePolicy(androidx.compose.ui.test.TestFailurePolicy.CaptureMode,androidx.compose.ui.test.TestFailurePolicy.CaptureMode,kotlin.collections.List)( screenshotCaptureMode: https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailurePolicy.CaptureMode, uiHierarchyCaptureMode: https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailurePolicy.CaptureMode, failureHandlers: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailureHandler> )` | Cmn android |

| ### Public functions |
|---|---|---|
| `open operator https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailurePolicy#equals(kotlin.Any)(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` | android |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailurePolicy#hashCode()()` | android |

| ### Public properties |
|---|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailureHandler>` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailurePolicy#failureHandlers()` A list of custom `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailureHandler`s that will be invoked in sequence after the framework completes its artifact generation. | Cmn android |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailurePolicy.CaptureMode` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailurePolicy#screenshotCaptureMode()` Determines whether a visual screenshot of the screen/UI should be captured upon failure. | Cmn android |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailurePolicy.CaptureMode` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailurePolicy#uiHierarchyCaptureMode()` Determines whether a text-based dump of the UI and semantics trees should be captured upon failure. | Cmn android |

## Public constructors

### TestFailurePolicy

Cmn android Added in [1.13.0-rc01](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.13.0-rc01)

```
TestFailurePolicy(
    screenshotCaptureMode: TestFailurePolicy.CaptureMode = CaptureMode.Unspecified,
    uiHierarchyCaptureMode: TestFailurePolicy.CaptureMode = CaptureMode.Unspecified,
    failureHandlers: List<TestFailureHandler> = emptyList()
)
```

## Public functions

### equals

android

```
open operator fun equals(other: Any?): Boolean
```

### hashCode

android

```
open fun hashCode(): Int
```

## Public properties

### failureHandlers

Cmn android Added in [1.13.0-rc01](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.13.0-rc01)

```
val failureHandlers: List<TestFailureHandler>
```

A list of custom `https://developer.android.com/reference/kotlin/androidx/compose/ui/test/TestFailureHandler`s that will be invoked in sequence after the framework completes its artifact generation.

### screenshotCaptureMode

Cmn android

```
val screenshotCaptureMode: TestFailurePolicy.CaptureMode
```

Determines whether a visual screenshot of the screen/UI should be captured upon failure.

### uiHierarchyCaptureMode

Cmn android

```
val uiHierarchyCaptureMode: TestFailurePolicy.CaptureMode
```

Determines whether a text-based dump of the UI and semantics trees should be captured upon failure.