# Function cargo_test_support::compare::assert_ui

source ·

    pub fn assert_ui() -> Assert

Expand description

Assertion policy for UI tests

This emphasizes showing as much content as possible at the cost of more brittleness

## §Snapshots

Updating of snapshots is controlled with the `SNAPSHOTS` environment variable:

- `skip`: do not run the tests
- `ignore`: run the tests but ignore their failure
- `verify`: run the tests
- `overwrite`: update the snapshots based on the output of the tests

## §Patterns

- `[..]` is a character wildcard, stopping at line breaks
- `\n...\n` is a multi-line wildcard
- `[EXE]` matches the exe suffix for the current platform
- `[ROOT]` matches `paths::root()`
- `[ROOTURL]` matches `paths::root()` as a URL

## §Normalization

In addition to the patterns described above, text is normalized in such a way to avoid unwanted differences. The normalizations are:

- Backslashes are converted to forward slashes to deal with Windows paths. This helps so that all tests can be written assuming forward slashes. Other heuristics are applied to try to ensure Windows-style paths aren’t a problem.
- Carriage returns are removed, which can help when running on Windows.

## §Example

    assert_e2e().eq(stdout, file!["stderr.term.svg"]);

    $ SNAPSHOTS=overwrite cargo test