10
votes

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?

3

3 Answers

11
votes

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.

1
votes

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
0
votes

In packages.json

  "jest": {
    "testTimeout": 15000,
  }

Doc: https://jestjs.io/docs/configuration#testtimeout-number.