我能够使用Jest测试多个文件,但我不知道如何测试单个文件。
我有:
执行npm install jest-cli——save-dev命令
更新包。Json: '{…"scripts": {"test": "jest"}…}
编写了许多测试。
运行npm测试可以正常工作(目前运行14个测试)。
如何测试单个文件,例如test app/foo/__tests__/bar.spec.js?
我已经尝试运行npm test app/foo/__tests__/bar.spec.js(从项目根),但我得到以下错误:
npm犯错!错误:ENOENT,打开'/node_modules/app/foo/tests/bar.spec.js/package.json'
如果你使用Yarn,你可以在下面直接添加.spec.js或.test.js文件:
yarn test src/lib/myfile.test.js
这是我包裹里的零件。Jest作为本地包安装在json文件中(删除了相关部分):
{
...
"scripts": {
"test": "jest",
"testw": "jest --watch",
"testc": "jest --coverage",
...
},
"devDependencies": {
"jest": "^18.1.0",
...
},
}
用一个包裹。json脚本
在package.json中使用"scripts": {"test": "jest"}:
npm test -- foo/__tests__/bar.spec.js
直接使用jest-cli
Globally-installed:
jest foo/__tests__/bar.spec.js
本地安装:
./node_modules/.bin/jest foo/__tests__/bar.spec.js
使用——testPathPattern
testPathPattern选项具有将路径作为未命名的位置参数传递给jest-cli的等效效果。看到normalize.ts。
./node_modules/.bin/jest --testPathPattern foo/__tests__/bar.spec.js
测试两个或多个特定文件
文件名用逗号或空格分隔:
./node_modules/.bin/jest foo/__tests__/bar.spec.js,foo/__tests__/foo.spec.js
./node_modules/.bin/jest foo/__tests__/bar.spec.js foo/__tests__/foo.spec.js
多次传递——testPathPattern:
./node_modules/.bin/jest --testPathPattern foo/__tests__/bar.spec.js --testPathPattern foo/__tests__/foo.spec.js