Answer a question

I am attempting to run Jest on my project. I am on a Windows 10. I only have one test in one test file.

In package.json:

    "test": "jest"

My directory structure:

    src/
        app/
            routeName/
                redux/
                    action.tests.js

My output:

No tests found, exiting with code 1
Run with `--passWithNoTests` to exit with code 0
In C:\Users\myUsername\Documents\myApp
  47 files checked.
  testMatch: **/__tests__/**/*.[jt]s?(x), **/?(*.)+(spec|test).[tj]s?(x) - 0 matches
  testPathIgnorePatterns: \\node_modules\\ - 47 matches
  testRegex:  - 0 matches
Pattern:  - 0 matches
npm ERR! Test failed.  See above for more details.

According to the documentation here, Jest should look for anything that has test.js in the name.

I have also tried tests.js and that didn't work either.

I created a folder in the root of the project and put a test in there as __tests__/tests.js and that did work, but I do not want it placed there.

I have seen several tickets and questions about questions that are superficially similar, but all of those involve more complex configurations, or bugs that were supposedly patched already. I have no special configurations set. The documentation says this should work. Tutorials I have read for Jest include the exact setup I am currently using.

I am using Babel and Webpack. I installed the jest and babel-jest packages. I also added jest to the ESLint environment.

[edit] updated to properly document my problem, which I answered below. I lost track of my file naming.

Answers

I am a bloody idiot and I didn't pay attention to the details.

Jest is looking for test.js specifically. Not testS.js. My files were labeled as tests.js. It worked inside __tests__/ because Jest just looks for anything inside there.

I got it working just fine now, and it shall remain up as a testament to me not looking at the specifics of the regex matches.

Logo

React社区为您提供最前沿的新闻资讯和知识内容

更多推荐