diff options
author | 2023-08-21 21:34:03 -0700 | |
---|---|---|
committer | 2023-08-21 21:34:03 -0700 | |
commit | 3a45f2c71bb17fbad0168fa76b32ae0c8ee67935 (patch) | |
tree | 2b02a163ff489349108ad99c211e65ed77209554 /docs/cli | |
parent | 9eeb7bdbff72997709a9a4c6afb2910830d29842 (diff) | |
download | bun-3a45f2c71bb17fbad0168fa76b32ae0c8ee67935.tar.gz bun-3a45f2c71bb17fbad0168fa76b32ae0c8ee67935.tar.zst bun-3a45f2c71bb17fbad0168fa76b32ae0c8ee67935.zip |
Docs and types for v0.8.0 (#4199)
* Improve test documentation
* Update nodejs compat docs with tty
* Add debugger guide
* Document Bun.inspect.custom, improve bun test nav
* Address reviews
* Update Bun.file types
* Add Nuxt guide
* Add tty types
Diffstat (limited to 'docs/cli')
-rw-r--r-- | docs/cli/test.md | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/docs/cli/test.md b/docs/cli/test.md index 209685042..dfe78c45b 100644 --- a/docs/cli/test.md +++ b/docs/cli/test.md @@ -30,14 +30,50 @@ The runner recursively searches the working directory for files that match the f - `*.spec.{js|jsx|ts|tsx}` - `*_spec.{js|jsx|ts|tsx}` -You can filter the set of tests to run by passing additional positional arguments to `bun test`. Any file in the directory with an _absolute path_ that contains one of the filters will run. Commonly, these filters will be file or directory names; glob patterns are not yet supported. +You can filter the set of _test files_ to run by passing additional positional arguments to `bun test`. Any test file with a path that matches one of the filters will run. Commonly, these filters will be file or directory names; glob patterns are not yet supported. ```bash $ bun test <filter> <filter> ... ``` +To filter by _test name_, use the `-t`/`--test-name-pattern` flag. + +```sh +# run all tests or test suites with "addition" in the name +$ bun test --test-name-pattern addition +``` + The test runner runs all tests in a single process. It loads all `--preload` scripts (see [Lifecycle](/docs/test/lifecycle) for details), then runs all tests. If a test fails, the test runner will exit with a non-zero exit code. +## Timeouts + +Use the `--timeout` flag to specify a _per-test_ timeout in milliseconds. If a test times out, it will be marked as failed. The default value is `5000`. + +```bash +# default value is 5000 +$ bun test --timeout 20 +``` + +## Rerun tests + +Use the `--rerun-each` flag to run each test multiple times. This is useful for detecting flaky or non-deterministic test failures. + +```sh +$ bun test --rerun-each 100 +``` + +## Bail out with `--bail` + +Use the `--bail` flag to abort the test run early after a pre-determined number of test failures. By default Bun will run all tests and report all failures, but sometimes in CI environments it's preferable to terminate earlier to reduce CPU usage. + +```sh +# bail after 1 failure +$ bun test --bail + +# bail after 10 failure +$ bun test --bail 10 +``` + ## Watch mode Similar to `bun run`, you can pass the `--watch` flag to `bun test` to watch for changes and re-run tests. |