Reputation:
According to the docs one can increase the default async timeout from 5000ms using the jest-object
More specifically, by using the jestsettimeouttimeout
The issue I am facing is I am running a series of tests against an API that is very slow, 5-15 second response times, configuring this jest object at the top of each test is painfully annoying.
Is it possible to declare these settings once before all test files are run?
Upvotes: 45
Views: 63228
Reputation: 13280
Use testTimeout. In yourjest.config.js
(or similar), add the following:
const MILLISECONDS = 1000;
module.exports = {
testTimeout: 60 * MILLISECONDS
}
Upvotes: 33
Reputation: 9154
Jest offers a testTimeout
option you can add to your package.json
:
"jest": {
"testTimeout": 15000
}
Upvotes: 46
Reputation: 976
If you are working with react
and initializing you app using create-react-app
, then under your src/
directory you should have a file named setupTests.js
. Here you can setup a global timeout for all of your tests just by insert this line after the import statement for @testing-libary
jest.setTimeout(15000); // in milliseconds
Upvotes: 8
Reputation:
OK, putting bits together:
The Jest search box doesn't actually return anything when you search for: setupFilesAfterEnv
And docs talk about: setupTestFrameworkScriptFile (which also doesn't return anything on the search:/ )
Anyway, the docs leave you scratching your head but this works:
jest.config.js:
module.exports = {
setupFilesAfterEnv: ['./setup.js'],
setup.js:
jest.setTimeout(10000); // in milliseconds
The jest folks should make it easier to find this information.
Upvotes: 40