How do I run a single test using Jest?

2019-03-08 12:20发布

问题:

I have a test 'works with nested children' within the file fix-order-test.js.

Running the below runs all the tests in the file.

jest fix-order-test

How do I run only a single test? The below does not work as it searches for a file of the regex specified.

jest 'works with nested children'

回答1:

From the command line use the --testNamePattern or -t flag

jest -t 'fix-order-test'

This will only run tests that match the test name pattern you provide. It's in the Jest docs.

Another way is to run tests in watch mode jest --watch and then press p to filter the tests by typing the test file name or t to run a single test name.



回答2:

jest documentation recommends the following:

If a test is failing, one of the first things to check should be whether the test is failing when it's the only test that runs. In Jest it's simple to run only one test - just temporarily change that test command to a test.only

test.only('this will be the only test that runs', () => {
  expect(true).toBe(false);
});


回答3:

As mentioned in other answers, test.only merely filters out other tests in the same file. So tests in other files will still run.

标签: jestjs