Jest No Tests found

62,226

Solution 1

Your output says that testMatch had 1 match, which may be your __tests__/index.test.js file. It seems that your testPathIgnorePatterns is causing that test suite to be ignored. No tests found In /usr/src/app says that Jest is looking for tests in /usr/src/app, and testPathIgnorePatterns: /node_modules/,/src,src says that Jest is ignoring files in /src directories.

Either point Jest to look at the location of your __tests__/index.test.js file if it is outside the /src directory, or stop testPathIgnorePatterns from ignoring the /src directory.

Solution 2

If you have file structure such as the following

myFolder
│   myFile1.js
│   myFile2.js
│   ...
│   
└───__tests__
        myFile1.spec.js
        myFile2.spec.js
        ...
    

then you need to have in jest.config.js the following pattern for testMatch property:

testMatch: ['**/__tests__/*.js?(x)'],

A simple example of jest.config.js:

const jestConfig = {
  verbose: true,
  testURL: "http://localhost/",
  'transform': {
    '^.+\\.jsx?$': 'babel-jest',
  },
  testMatch: ['**/__tests__/*.js?(x)'],
}

module.exports = jestConfig

Solution 3

In package.json there is a pattern that is used to find test file. In this pattern, you can change it according to your file location or make it the global pattern.

I wrote a test, not in the specific folder and follow a naming convention *.test.js and change testMatch

"testMatch": [
      "<rootDir>/src/**/*.(test).{js,jsx,ts,tsx}",
      "<rootDir>/src/**/?(*.)(spec|test).{js,jsx,ts,tsx}"
    ],

Solution 4

You can try running jest without any parameters. A key thing to note is the test file names have to follow the convention *.test.js or *.spec.js.

Solution 5

If you want to run all the tests inside the tests folder you can simply do the following jest __tests__ --watch

Share:
62,226
Kendall
Author by

Kendall

I websites, games and rich interactive applications (RIAs). I am proficient in PHP 4/5, MySQL, JQuery. use and develop for Web Services such as Facebook, Instagram, Twitter, Google and Youtube. I develop using frameworks such as VueJS, jQuery, PugJS, Sass, SlimPHP, Laravel, Idiorm and Paris, and Wordpress. I also worked using Adobe Illustrator, Adobe Photoshop, Git and Docker software applications.

Updated on July 09, 2022

Comments

  • Kendall
    Kendall almost 2 years

    running docker mhart/alpine-node:8 on macOS with

    nodejs (6.10.3-r0) (18/18) yarn 0.24.6 jest 20.0.4

    I have a __tests__/index.test.js file however, when running the code

    node_modules/.bin/jest --watchAll I get the below output

    No tests found
    In /usr/src/app
    5 files checked.
    testMatch: /__tests__//*.js?(x),**/?(*.)(spec|test).js?(x) - 1 match
    testPathIgnorePatterns: /node_modules/,/src,src - 0 matches
    Pattern: "" - 0 matches

    I've re-installed the package numbers times but to no avail.

  • Max
    Max almost 4 years
    Is there a way to just use the .js extension instead of test.js or spec.js?