我有两个关于 JS 单元测试的问题:
1)是否有一些工具允许在某些文件更改时自动运行javascript单元测试(例如nodemon在js更改时重新启动node.js)。
2)这种策略是否适合(有效)运行单元测试的方式?
谢谢,亚历克斯
我有两个关于 JS 单元测试的问题:
1)是否有一些工具允许在某些文件更改时自动运行javascript单元测试(例如nodemon在js更改时重新启动node.js)。
2)这种策略是否适合(有效)运行单元测试的方式?
谢谢,亚历克斯
对于那些致力于使用 nodemon 的人来说,nodemon -x "npm test"
对我有用。
nodemon --help
说:
-x, --exec app ........... execute script with "app", ie. -x "python -v".
在我们的例子npm test
中,通过配置我们的 package.json 来运行测试
例如:
"scripts": {
"test": "mocha"
},
使用 jest 时,不需要 nodemon。只需在 package.json 中设置test
脚本命令jest --watchAll
如下:
"scripts": {
"test": "jest --watchAll"
}
查看 grunt 构建系统和 watch 任务。您可以设置 grunt 以监视文件更改,然后运行您想要的任何任务(测试、lint、编译等)。
https://github.com/cowboy/grunt
本教程涵盖了一些想法。http://javascriptplayground.com/blog/2012/04/grunt-js-command-line-tutorial
这是我的 package.json 的片段:
"scripts": {
"develop": "nodemon ./src/server.js --watch src --watch __tests__ -x \"yarn run test\"",
"test": "mocha ./__tests__/**/*.js --timeout 10000" }
该develop
脚本是我运行我的快速服务器(条目:)的命令行./src/server.js
,观察/src
包含我所有服务器/API 代码的/__tests__
目录,观察作为我所有规范的目录,最后告诉 nodemon 在每次重新启动/运行之前执行随附的语句和-x \"yarn run test\"
yarn run test
与 没有什么不同npm run test
。我更喜欢 yarn 而不是 npm,所以这部分取决于你。重要的是\"
JSON 值中的标签......没有它,它将失败,因为参数将被错误地标记。
此设置允许我从服务器/API 代码或编写/修复规范触发更改,并在通过 nodemon 重新启动服务器之前触发完整的测试运行。
干杯!