Rstest comes with a lightweight CLI that includes commands such as rstest watch and rstest run.
rstest -h
can help you view all available CLI commands and options:
The output is shown below:
Running rstest
directly will enable the Rstest test in the current directory. Listening mode is automatically entered in the development environment (equivalent to rstest watch
), while a single test is performed in the CI environment or non-terminal interactive mode (equivalent to rstest run
).
rstest run
will perform a single run, and the command is suitable for CI environments or scenarios where tests are not required to be performed while modifying.
rstest watch
will start listening mode and execute tests, and when the test or dependent file modifications, the associated test file will be re-execute.
rstest list
will print a test list of all matching conditions. By default, it prints the test names of all matching tests.
The rstest list
command inherits all rstest
filtering options, you can filter files directly or use -t
to filter the specified test name.
You can use --filesOnly
to make it print the test files only:
You can use --json
to make it print tests in JSON format in terminal or save the results to a separate file:
Rstest CLI provides several common options that can be used with all commands:
Flag | Description |
---|---|
-c, --config <config> | Specify the configuration file, can be a relative or absolute path, see Specify config file |
--config-loader <loader> | Specify the config loader, can be jiti or native , see Rsbuild - Specify config loader |
-r, --root <root> | Specify the project root directory, see root |
--globals | Provide global APIs, see globals |
--isolate | Run tests in an isolated environment, see isolate |
--exclude <exclude> | Exclude files from test, see exclude |
-u, --update | Update snapshot files, see update |
--passWithNoTests | Allows the test suite to pass when no files are found, see passWithNoTests |
--printConsoleTrace | Print console traces when calling any console method, see printConsoleTrace |
--disableConsoleIntercept | Disable console intercept, see disableConsoleIntercept |
--slowTestThreshold <value> | The number of milliseconds after which a test or suite is considered slow, see slowTestThreshold |
-t, --testNamePattern <value> | Run only tests with a name that matches the regex, see testNamePattern |
--testEnvironment <name> | The environment that will be used for testing, see testEnvironment |
--testTimeout <value> | Timeout of a test in milliseconds, see testTimeout |
--hookTimeout <value> | Timeout of hook in milliseconds, see hookTimeout |
--retry <retry> | Number of times to retry a test if it fails, see retry |
--maxConcurrency <value> | Maximum number of concurrent tests, see maxConcurrency |
--clearMocks | Automatically clear mock calls, instances, contexts and results before every test, see clearMocks |
--resetMocks | Automatically reset mock state before every test, see resetMocks |
--restoreMocks | Automatically restore mock state and implementation before every test, see restoreMocks |
--unstubGlobals | Restores all global variables that were changed with rstest.stubGlobal before every test, see unstubGlobals |
--unstubEnvs | Restores all process.env values that were changed with rstest.stubEnv before every test, see unstubEnvs |
-h, --help | Display help for command |
-v, --version | Display version |