我开始使用Jest单元测试。 我一直在"没有找到测试"在进行一次开玩笑单元测试时。
错误说明
yarn test
yarn run v1.3.2
$ jest
No tests found
In E:\Course\Testing JavaScript\Jest Demo
4 files checked.
testMatch: **/__tests__/**/*.js?(x),**/?(*.)(spec|test).js?(x) - 3 matches
testPathIgnorePatterns: \\node_modules\\ - 4 matches
Pattern: - 0 matches
error Command failed with exit code 1.
os:窗口7, 节点v:8.6, npm v:5.4.2
folder structure :
Demo
package.json
__tests__
sum.js
sum.test.js
sum.js文件:
function sum(a, b) {
return a + b;
}
module.exports = sum;
sum.test.js
const sum = require("./sum");
test("adds 1 + 2 to equal 3", () => {
expect(sum(1, 2)).toBe(3);
});
的package.json
{
"name": "JestDemo",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"dependencies": {
"jest": "^22.4.3"
},
"scripts": {
"test": "jest"
}
}
到目前为止,我已经提到了这些文章 Stackoverflow-Jest No Tests found
关于同一问题,github上还有一些帖子,但没有任何帮助。
到目前为止我做了什么:
1)将脚本更改为指向包含测试文件的文件夹:
"scripts": {
"test": "jest __test__" //
from "test": "jest"
}
2)尝试更改文件夹结构。
有人可以帮我解决问题吗?
答案 0 :(得分:2)
您似乎已将代码和测试文件放在同一目录(__tests__/sum.js
和__tests__/sum.test.js
)中。我不认为这是你看到的失败的具体原因,但这不是惯例。
除非您的项目已完成,否则无需指定要搜索的文件夹。除了必要的选项之外,运行jest
不带任何参数,它将在下面搜索当前目录。
惯例是:
/root
/src
sum.js
/__tests__
sum.js
或:
/root
/src
sum.js
sum.test.js
您可以在后一个示例中使用test
或spec
。 root
和src
取决于您,root
通常是package.json
的位置,您可以从中调用jest(例如myApp
)。 src
有助于区分其他应用组件,例如构建和资产。
答案 1 :(得分:0)
只需在/test
文件夹中移动所有测试即可。这是我用jest测试的项目的一部分配置。希望这可以提供帮助。
{
"dependencies": {
"jest": "^22.1.4"
},
"jest": { },
"scripts": {
"test": "jest"
}
}