javascript - 某些测试文件的 Node.js 代码覆盖率

标签 javascript node.js unit-testing istanbul blanket.js

我刚刚进入一个 Node.js 项目,该项目有大量的单元测试,不幸的是,其中大多数都已经过时并且无法运行。没有实现测试运行程序或任何类型的代码覆盖工具,并且重构所有内容当然不在我的工作范围内。

话虽这么说,但这并不能阻止我检查我工作的代码覆盖率。我查看了 Istanbul 和 Blanket,但找不到只让它们运行某些单元测试的方法。当然,有一种方法可以让我获得一份报告,显然,报告的覆盖率非常低,但我可以深入研究某些文件等(我的测试命中的文件),以确保我的代码经过彻底测试。

最佳答案

使用istanbul.js,您可以通过指定以下命令轻松获取覆盖率信息(以下示例使用mocha,但对于任何测试框架都是类似的):

istanbul cover node_modules/.bin/_mocha -- -u exports -R spec test/test1.spec.js test/test2.spec.js

您还可以指定特定子目录中的所有测试,例如:test/yourfeaturetest/*.spec.js。您还可以使用 test/myfeature/**/*.spec.js 来覆盖 test/myfeature 目录中的所有测试,包括可以在子目录中递归创建的测试。

对于我来说,我使用 gulp,因此利用 gulp-istanbul 等插件并通过 gulp 任务运行测试和覆盖。

关于javascript - 某些测试文件的 Node.js 代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31953757/

相关文章:

hibernate - JPA 或 Hibernate 的测试数据生成器

javascript - 为什么我收到 ArgumentError(销毁操作的参数数量错误(给定 0,预期 1)?Rails 5.2

javascript - 用 jquery 动画排列 block

node.js - Webpack渲染: "window is not defined"

node.js - 如何将缓冲区保存到 S3 存储桶中

javascript - Express.js - Helmet.js 和其他中间件,以及安装的应用程序?

javascript - 将数据存储在数组或对象中哪个更有效?

javascript - 带有 .hide() 函数的 Jquery 代码在 Django 模板中不起作用

unit-testing - Grails 单元测试问题

java - 使用 StepVerifier 验证是否至少已经过了一段时间?