RUN Test (RUNT)   ![latest]

Runt is a lightweight, parallel snapshot testing framework. It aims to enable snapshot testing with minimal configuration.

Install the latest version of runt using: cargo install runt

Runt is most useful when you have the following test setup: - One command that needs to run on many input files. - Test suites grouped by commands run on the files. - Test outputs are sent to IO streams (stdout and stderr). - Test and test suites are unordered.

Runt is not useful when you want to do: - Rich introspective testing of data structures. - Test suites with complex setups, dependencies, and teardowns.

Snapshot testing with runt is extremely flexible. For example, the tests under runt-cli-test test the outputs of the runt CLI.

Building & Developing

Configuration

Runt is configured using a single runt.toml file:

```toml

Runts support multiple test suites.

[[tests]]

Optional name for this test suite.

name = "Cat tests"

Test paths are a list of glob patterns.

paths = [ "cat-test/*.txt" ]

Command to run on each test file. {} is replaced with the path.

cmd = "cat {}"

More test suite configurations ...

[[tests]] ```

Run runt <dir> to execute all the tests. <dir> defaults to the current directory.

Options

Showing diffs: By default, runt does not show diffs between the new output and the expect file. Use --diff to show the diffs.

Saving changes: The --save flag overwrites the expect files to save the updated outputs.

Suppress specific outputs: The --only flag can be used to focus on only failing, missing, or correct tests. It composes with the diff and save flags.

Example

Other options