# `once test`

Test a declared target.

## Synopsis

```text
once test [OPTIONS] [TARGET]
```

## Description

Builds the target as needed, then executes its `test` capability through the action cache. Output paths and result groups are owned by the target kind that exposes the capability. With `--changed-path` or `--all`, stable target batches are pulled from a duration-informed dynamic queue. `--jobs` caps local workers without changing the plan or batch identities. With no target or selection flags, Once runs the first-party tests reported by each discovered workspace root.

## Arguments

| Argument | Required | Description |
| --- | --- | --- |
| `<TARGET>` | no | Target id, such as `tests/unit` or `./unit`. Omit it to test the discovered workspace's first-party tests. |

## Options

| Flag | Value | Default | Description |
| --- | --- | --- | --- |
| `--sandbox` | `<SANDBOX>` | `off` | Local filesystem sandbox policy for command actions. |
| `--config` | `<KEY=VALUE>` |  | Override the workspace build configuration. See `once build --config`. |
| `--ui` | (flag) |  | Start the local Runs interface for this Once test run. |
| `-j, --jobs` | `<COUNT>` |  | Maximum number of test batches to execute concurrently. Defaults to the host's available parallelism for an affected plan. |
| `--all` | (flag) |  | Run every discovered test target through the dynamic scheduler. |
| `--changed-path` | `<PATH>` |  | Select tests affected by a workspace-relative changed path. Repeat for multiple paths. Cannot be combined with a target id. |
| `--test-unit` | `<UNIT>` |  | Run one current, filterable unit from `once query test-manifest`. The request is rejected before scheduling when the target does not support exact filtering or the unit is absent from the manifest. |
