-
-
Notifications
You must be signed in to change notification settings - Fork 6.6k
Open
Labels
Description
🐛 Bug Report
Test case is executed even if beforeAll did not finish.
To Reproduce
This test file:
beforeAll(async () => new Promise((resolve, reject) => {
// Never resolves
}));
test('test case', async () => {
console.log('should never be executed');
});Displays this:
% npx jest t.spec.js
FAIL ./t.spec.js (5.415s)
✕ test case (8ms)
● test case
Timeout - Async callback was not invoked within the 5000ms timeout specified by jes
t.setTimeout.Error: Timeout - Async callback was not invoked within the 5000ms timeout
specified by jest.setTimeout.
at mapper (node_modules/jest-jasmine2/build/queueRunner.js:25:45)
console.log t.spec.js:6
should never be executed
Test Suites: 1 failed, 1 total
Tests: 1 failed, 1 total
Snapshots: 0 total
Time: 5.436s, estimated 6s
Ran all test suites matching /t.spec.js/i.
Expected behavior
Test case code should never be executed because beforeAll() did not finish. The error message should be at the beforeAll level and not at the test case level. This is very confusing as you may think that the test case itself failed when in reality it has nothing to do with the test case.
Link to repl or repo (highly encouraged)
https://repl.it/repls/KindlyAutomaticLocation
envinfo
% npx envinfo --preset jest
npx: installed 1 in 0.645s
System:
OS: Linux 5.3 Manjaro Linux
CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
Binaries:
Node: 13.7.0 - /usr/bin/node
Yarn: 1.21.1 - /usr/bin/yarn
npm: 6.13.6 - /usr/bin/npm
npmPackages:
jest: ^24.9.0 => 24.9.0
dfleury, jacksteamdev, thernstig, evandrocoan, tomas-hartman and 32 morethernstig, robreinhard and lucasvianav