Skip to content

Commit

Permalink
doc: improve test runner timeout docs
Browse files Browse the repository at this point in the history
Add a warning to clarify that it is not a reliable mechanism for
cancelling tests.

Fix the default value of the timeout option.

Simplify and capitalize the YAML description field.

PR-URL: #43836
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
  • Loading branch information
tniessen authored Jul 20, 2022
1 parent 389b7e1 commit 545ecc5
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions doc/api/test.md
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,7 @@ added: v18.0.0
changes:
- version: REPLACEME
pr-url: https://github.com/nodejs/node/pull/43505
description: add a timeout to tests and allow setting it in options.
description: Add a `timeout` option.
-->

* `name` {string} The name of the test, which is displayed when reporting test
Expand All @@ -346,7 +346,7 @@ changes:
the test is `TODO`. **Default:** `false`.
* `timeout` {number} A number of milliseconds the test will fail after.
If unspecified, subtests inherit this value from their parent.
**Default:** `30_000`.
**Default:** `Infinity`.
* `fn` {Function|AsyncFunction} The function under test. The first argument
to this function is a [`TestContext`][] object. If the test uses callbacks,
the callback function is passed as the second argument. **Default:** A no-op
Expand Down Expand Up @@ -379,6 +379,11 @@ test('top level test', async (t) => {
});
```

The `timeout` option can be used to fail the test if it takes longer than
`timeout` milliseconds to complete. However, it is not a reliable mechanism for
canceling tests because a running test might block the application thread and
thus prevent the scheduled cancellation.

## `describe([name][, options][, fn])`

* `name` {string} The name of the suite, which is displayed when reporting test
Expand Down Expand Up @@ -545,7 +550,7 @@ added: v18.0.0
changes:
- version: REPLACEME
pr-url: https://github.com/nodejs/node/pull/43505
description: add a timeout to tests and allow setting it in options.
description: Add a `timeout` option.
-->

* `name` {string} The name of the subtest, which is displayed when reporting
Expand All @@ -567,7 +572,7 @@ changes:
the test is `TODO`. **Default:** `false`.
* `timeout` {number} A number of milliseconds the test will fail after.
If unspecified, subtests inherit this value from their parent.
**Default:** `30_000`.
**Default:** `Infinity`.
* `fn` {Function|AsyncFunction} The function under test. The first argument
to this function is a [`TestContext`][] object. If the test uses callbacks,
the callback function is passed as the second argument. **Default:** A no-op
Expand Down

0 comments on commit 545ecc5

Please sign in to comment.