Jest --watch 始终运行所有测试

问题描述 投票:0回答:3

我最近从 Mocha 切换到 Jest。除了始终运行所有测试的监视模式之外,一切都工作正常(不仅仅是与文档中所述的未提交文件相关的测试)。我已经搜索了文档和谷歌,但没有找到有关此问题的任何信息。

我的笑话配置是

  "jest": {
    "coveragePathIgnorePatterns": [
      "/node_modules/",
      "/generated/",
      "/mock/",
      "/tools/",
      "/transactions/"
    ],
    "coverageThreshold": {
      "global": {
        "branches": 90,
        "functions": 90,
        "lines": 90,
        "statements": 90
      }
    },
    "resetMocks": true,
    "moduleDirectories": [
      "node_modules",
      "src"
    ],
    "moduleNameMapper": {
      "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/src/__mocks__/fileMock.js",
      "\\.(css|less|scss)$": "<rootDir>/src/__mocks__/styleMock.js"
    },
    "setupTestFrameworkScriptFile": "<rootDir>/tools/setupTest.js"
  },

setupTestFrameworkScriptFile
仅包含一行:

require('babel-polyfill');

Babelrc:

 "env": {
    "test": {
      "plugins": [
        "rewire",
        "transform-class-properties",
        "transform-es2015-modules-commonjs"
      ],
      "presets": [
        "es2017",
        "react",
        "stage-0",
        "es2015"
      ]
    }
  }

我用

jest --watch
开始测试,它会打印消息“确定要运行的测试套件”,但随后所有测试都会运行即使没有未提交的文件

我使用的是 Windows 7,我在 powershell 中运行命令。节点版本:

v6.9.1

开玩笑版本:
"babel-jest": "20.0.3"
"jest": "20.0.4"

jestjs babel-jest
3个回答
0
投票

老实说,我猜,但除了coveragePathIgnorePatterns之外,还尝试使用testPathIgnorePatterns。


0
投票

您需要一个 git 存储库才能运行

jest -o
jest --watch
隐式使用它)。

来自文档

基于hg/git(未提交的文件)运行与更改的文件相关的测试:

jest -o


0
投票

我正在使用 Jest v27.6.3 和 gitbash,不确定这是否是一个新功能,但你不必等待所有测试运行,你可以通过按 Enter 键中断它,它会停止运行并询问来自用户的输入:

© www.soinside.com 2019 - 2024. All rights reserved.