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 testsignore
: run the tests but ignore their failureverify
: run the testsoverwrite
: 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]
matchespaths::root()
[ROOTURL]
matchespaths::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