三行代码  ›  专栏  ›  技术社区  ›  i like Cola

未找到使用react脚本和jest的测试

  •  0
  • i like Cola  · 技术社区  · 1 周前

    尝试只运行测试。

    我需要测试减速器和存储

    我阅读了jest教程react手册,它与我的有点不同,但我也发现“react脚本测试”也应该有效

    我的包裹。json

      "scripts": {
        "start": "react-scripts start",
        "build": "react-scripts build",
        "test": "react-scripts test",
        "eject": "react-scripts eject"
      },
      "dependencies": {
        "@testing-library/jest-dom": "^5.16.1",
        "@testing-library/react": "^12.1.2",
        "@testing-library/user-event": "^13.5.0",
        "classnames": "^2.3.1",
        "faker": "^4.1.0",
        "jest": "^27.4.7",
        "miragejs": "^0.1.43",
        "react": "^17.0.2",
        "react-dom": "^17.0.2",
        "react-scripts": "5.0.0",
        "redux": "^4.1.2",
        "seedrandom": "^3.0.5",
        "web-vitals": "^2.1.3"
      },
      "devDependencies": {
        "jest-watch-typeahead": "^0.6.5",
        "prettier": "^2.5.1"
      }
    

    我想用

    npm test
    npm test --config jest.config.js
    npm test --setupFile ./src/setupTests.js
    npm test --setupFiles ./src/setupTests.js
    

    输出

    Active Filters: filename .\\src\\setupTests.js/
     › Press c to clear filters.
     
    Watch Usage
     › Press a to run all tests.
     › Press f to run only failed tests.
     › Press o to only run tests related to changed files.
     › Press q to quit watch mode.
     › Press p to filter by a filename regex pattern.
     › Press t to filter by a test name regex pattern.
     › Press Enter to trigger a test run.
     
    

    按A

    No tests found, exiting with code 0
    
    Watch Usage: Press w to show more.
    

    /开玩笑。配置。js

    // Sync object
    /** @type {import('@jest/types').Config.InitialOptions} */
    const config = {
        setupFiles: ['./src/setupTests.js'], 
        verbose: true,
    };
    
    module.exports = config;
    

    import '@testing-library/jest-dom/extend-expect';
    
    test('adds 1 + 2 to equal 3', () => {
        expect(1 + 2).toBe(3);
    });
    
    1 回复  |  直到 1 周前
        1
  •  1
  •   Kenny    1 周前

    以下是Jest文档中关于如何查找测试文件的说明:

    默认情况下,它会查找 .js , .jsx , .ts .tsx 里面的文件 __tests__ 文件夹,以及后缀为的任何文件 .test .spec (例如。 Component.test.js Component.spec.js )。它还将查找名为 test.js spec.js

    自从 setupTests.js 文件名不符合此条件,Jest无法将其识别为测试文件。如果将文件重命名为以结尾 .test.js 或者把它移到一个 __测验__ 文件夹,Jest应该能够找到它并运行测试。如果需要保持文件名不变,可以通过设置 testRegex jest.config.js (请阅读有关此设置的详细信息 here ).

    这个 setupFiles 财产 开玩笑配置。js 用于在测试实际运行之前设置环境。可以找到该设置的文档 here