-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Labels
p3-minor-bugAn edge case that only affects very specific usage (priority)An edge case that only affects very specific usage (priority)
Description
Describe the bug
The docs for https://vitest.dev/api/expect.html#resolves state
If the assertion is not awaited, then you will have a false-positive test that will pass every time.
which made me think that the second test without the await on the assertion would just return and pass
import { expect, test } from 'vitest';
test('times out from test function timeout', async () => {
await expect(new Promise((_resolve) => {})).resolves.toEqual(1);
});
test('hangs forever', async () => {
expect(new Promise((_resolve) => {})).resolves.toEqual(1);
});
but instead it just hangs forever.
Reproduction
https://stackblitz.com/edit/vitest-dev-vitest-7mithq?file=test%2Fbasic.test.ts
System Info
System:
OS: Linux 5.0 undefined
CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
Memory: 0 Bytes / 0 Bytes
Shell: 1.0 - /bin/jsh
Binaries:
Node: 18.20.3 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 10.2.3 - /usr/local/bin/npm
pnpm: 8.15.6 - /usr/local/bin/pnpm
npmPackages:
@vitest/ui: latest => 2.0.5
vite: latest => 5.4.2
vitest: latest => 2.0.5Used Package Manager
npm
Validations
- Follow our Code of Conduct
- Read the Contributing Guidelines.
- Read the docs.
- Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
- The provided reproduction is a minimal reproducible example of the bug.
Metadata
Metadata
Assignees
Labels
p3-minor-bugAn edge case that only affects very specific usage (priority)An edge case that only affects very specific usage (priority)