node.js - 如何使用 NYC 获得单元测试和集成测试的综合覆盖率
问题描述
我想获得单元测试和集成测试的综合覆盖。
我有用于单元测试和集成测试的单独文件夹。在我的管道 ci 中,我有一个单独的阶段用于单元测试和集成测试,因为集成测试需要依赖项。
包.json
{
"unit-test": "nyc mocha --timeout 5000000 -r ts-node/register --project tsconfig.json test/unit/*.test.ts --exit",
"integration-test": "nyc mocha --timeout 5000000 -r ts-node/register --project tsconfig.json test/integration/*.test.ts --exit",
}
现在我分别获得了他们两个的报道,但我可以看到它并不是所有报道的真实反映。
有什么办法可以结合覆盖范围摘要。这可能意味着我需要将管道中的两个阶段结合起来?
解决方案
有一个nyc merge
功能,它能够合并由不同测试运行产生的多个覆盖率报告。您可以在nyc docs中阅读有关它的信息。
另一种方法是在同一命令中运行两个测试(因为mocha能够处理多个输入路径),如下所示:
"test": "nyc mocha --timeout 5000000 -r ts-node/register --project tsconfig.json 'test/unit/*.test.ts' 'test/integration/*.test.ts' --exit"
推荐阅读
- python - 在 keras 子类模型中绘制 cnn 中间层
- javascript - Puppeteer - 模拟 WebSocket
- javascript - 调用事件处理程序似乎不起作用
- github - 有没有办法将 Github 存储库转移到组?
- javascript - 当两个类都相等时删除一个样式。(CSS、HTML、JS)
- reactjs - 在样式组件中引用通用打字稿功能组件
- android - 为什么 Kotlin 在 firestore 调用中跳过这部分代码?
- postgresql - Wildfly 部署因缺少数据源而失败
- r - 从 R 中的 ts() 对象中删除一个值而不更改对象的类
- c++ - 一个程序,给出一个人在银行花费的最长时间(以分钟为单位)