我正在尝试在我的Windows 10桌面计算机上使用Jest,但它一直告诉我没有找到测试。在我的Windows 10笔记本电脑上,它工作得很好。这是我在桌面上获得的输出:
C:\app> jest
No tests found
In C:\app
25163 files checked.
testMatch: **/__tests__/**/*.js?(x),**/?(*.)(spec|test).js?(x) - 743 matches
testPathIgnorePatterns: \\node_modules\\ - 25163 matches
Pattern: "" - 0 matches
在我的package.json文件中,我的jest配置如下所示:
"jest": {
"collectCoverageFrom": [
"app/**/*.{js,jsx}",
"!app/**/*.test.{js,jsx}",
"!app/*/RbGenerated*/*.{js,jsx}",
"!app/app.js"
],
"coverageThreshold": {
"global": {
"statements": 98,
"branches": 91,
"functions": 98,
"lines": 98
}
},
"moduleDirectories": [
"node_modules",
"app",
"common"
],
"moduleNameMapper": {
".*\\.(css|less|styl|scss|sass)$": "<rootDir>/internals/mocks/cssModule.js",
".*\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/internals/mocks/image.js"
},
"setupTestFrameworkScriptFile": "<rootDir>/internals/testing/test-bundler.js"
}
我正在使用节点8.1.4和jest v20.0.4 关于如何开始寻找我的测试的任何想法?
答案 0 :(得分:3)
我不是100%肯定它是同一个问题。但是对我来说解决它的是摆脱守望者(我在另一个使用继电器的项目的路径上添加了它)。尝试使用--no-watchman(或在jest配置中设置watchman:false)运行
答案 1 :(得分:1)
对于试图了解如何解决此问题的任何人来说,这是Jest中的错误,已在第22版中修复。
更新日志: https://github.com/facebook/jest/blob/master/CHANGELOG.md(PR#5054)
答案 2 :(得分:0)
我从我写过-- --watch
的{{1}}中删除了package.json
答案 3 :(得分:0)
如果我运行控制台命令
jest test / components / checkBox / treezCheckBox.test.js
找到并执行了该文件中的测试。
如果我改为运行控制台命令
笑话测试\ components \ checkBox \ treezCheckBox.test.js
我得到了错误
No tests found, exiting with code 1
Run with `--passWithNoTests` to exit with code 0
In D:\treezjs
814 files checked.
testMatch: **/__tests__/**/*.[jt]s?(x), **/?(*.)+(spec|test).[tj]s?(x) - 44 matches
testPathIgnorePatterns: \\node_modules\\ - 814 matches
testRegex: - 0 matches
Pattern: test\components\checkBox\treezCheckBox.test.js - 0 matches
=>使用正斜杠或反斜杠似乎很重要。
使用双倍的反斜杠可以工作:
笑话测试\\ components \\ checkBox \\ treezCheckBox.test.js
如果您将 vscode启动配置与文件路径变量$ {file}一起使用,则不幸的是,生成的系统命令包含单个“ \”作为分隔符。
另请参见https://github.com/Microsoft/vscode/issues/40256上的讨论和链接的问题 (最后一条语句已过时; $ {relativeFile}也使用“ \”。)
解决方法:使用调试扩展名(例如Daddy Jest)代替自定义启动配置。
答案 4 :(得分:0)
在Jest 24.8.0中看到此问题。看来,如果您添加--runTestsByPath
,它将正确处理前进/后退空格,
关于问题https://github.com/microsoft/vscode-recipes/issues/205#issuecomment-533645097的讨论,以及以下建议的VSCode调试配置
{
"type": "node",
"request": "launch",
"name": "Jest Current File",
"program": "${workspaceFolder}/node_modules/.bin/jest",
"args": [
"--runTestsByPath", // This ensures the next line is treated as a path
"${relativeFile}", // This path may contain backslashes on windows
"--config",
"jest.config.js"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"disableOptimisticBPs": true,
"windows": {
"program": "${workspaceFolder}/node_modules/jest/bin/jest",
}
}