13

我有两个关于 JS 单元测试的问题:

1)是否有一些工具允许在某些文件更改时自动运行javascript单元测试(例如nodemon在js更改时重新启动node.js)。

2)这种策略是否适合(有效)运行单元测试的方式?

谢谢,亚历克斯

4

4 回答 4

16

对于那些致力于使用 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"
},
于 2014-07-31T07:19:20.157 回答
4

使用 jest 时,不需要 nodemon。只需在 package.json 中设置test脚本命令jest --watchAll如下:

"scripts": {
  "test": "jest --watchAll"
}
于 2019-05-17T03:01:18.417 回答
2

查看 grunt 构建系统和 watch 任务。您可以设置 grunt 以监视文件更改,然后运行您想要的任何任务(测试、lint、编译等)。

https://github.com/cowboy/grunt

本教程涵盖了一些想法。http://javascriptplayground.com/blog/2012/04/grunt-js-command-line-tutorial

于 2012-07-26T15:00:49.190 回答
1

这是我的 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 重新启动服务器之前触发完整的测试运行。

干杯!

于 2017-03-11T19:35:04.707 回答