我能够使用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 test -f "partial-filename" -t "as split node"
npm测试,或笑话可以取代纱线测试,这取决于你喜欢的JS捆绑器。
这将只尝试在包含some-partial-filename的文件中查找测试,并且在这些文件中,测试将需要有一个describe或it指令,例如提到“作为分割节点”
// In cool-partial-filename.js
describe("with a less indented sibling", () => {
it("should create a new check-list-item with the same indent as split node", () => {
console.log("This would run with the invocation above");
})
})
这就是如何在不重新启动测试的情况下动态地运行特定文件上的测试。
我的React项目创建为create-react-app。
所以它会监视测试的变化,当我做出改变时自动运行测试。
这就是我在终端中看到的测试结果:
Test Suites: 16 passed, 16 total
Tests: 98 passed, 98 total
Snapshots: 0 total
Time: 5.048s
Ran all test suites.
Watch Usage: Press w to show more.
按W
Watch Usage
› 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.
然后按P
Pattern Mode Usage
› Press Esc to exit pattern mode.
› Press Enter to filter by a filenames regex pattern.
pattern ›
Start typing to filter by a filename regex pattern.
这是在我想运行'Login'文件夹中的'index.es6.js'文件之后:
Pattern Mode Usage
› Press Esc to exit pattern mode.
› Press Enter to filter by a filenames regex pattern.
pattern › login/index
Pattern matches 1 file
› src/containers/Login/index.es6.test.js
这就是我在特定文件上运行测试的方法。