问题标签 [nyc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 如何运行 git pre-commit 挂钩以强制暂存文件的测试覆盖率不会降低?
我在我的 ReactJS 项目中使用 jest 和 istanbul 来编写测试用例并检查测试覆盖率。
如何确保使用预提交挂钩来测试我已暂存到 git 的任何文件的覆盖率不会从提交前的当前值减少?
javascript - Nyc coverage is not working for me when using functional approach with e.g. ramda
So my code is this:
With if (isEventEmpty(event)) {
coverage is 66.67% which is fine. But without that if
coverage will be 0. Notice that I use R.ifElse
composable from Ramda. All unit tests pass that's why I'm not showing them, but coverage report shows 0% Branches 0/1
. With imperative if
branch I have 2/3 in coverage report.
Does anyone have also experience NOT using if-else branching (or loops) when writing their code? Seems that nyc
is only looking in if-else, for/while branches or I might be wrong.
javascript - 纽约市伊斯坦布尔,生成带有测试用例名称的报告
当我使用 nyc 生成覆盖率报告时,它总是给出文件的覆盖率结果(覆盖了多少百分比)。尽管有什么办法可以弄清楚,哪个测试用例名称有助于该文件的覆盖率?
javascript - 如何使用 Istanbul / nyc 获取目录中所有文件的概览?
我刚开始使用 nyc 和 Istanbul 来生成代码覆盖率报告。我注意到的第一件事是覆盖率报告仅显示测试中解决的文件的覆盖率。它不显示任何未测试的文件的覆盖范围。
如果我将所有文件都放在一个名为“src”的目录中,是否可以生成包含该目录中所有文件的报告(包括到目前为止有 0 个测试的文件)?
目前我的 NPM 脚本是(我正在使用 Mocha 和 Chai)。
istanbul - 什么是纽约伊斯坦布尔的仪器仪表?
纽约市使用什么仪器?
nyc 的 instrument 命令可用于在单元测试上下文之外检测源文件:
我认为它将在单元测试之外进行覆盖。我试过了
然后运行应用程序并尝试访问端点
但是当我执行上述操作时,它不会生成文件,nyc_output
因此无法报告任何内容。
我必须完成nyc instrument
命令吗?怎么做?
jenkins - 在 jenkins 中运行时,nyc 和 mocha 代码覆盖失败
我正在尝试为我们在 Jenkins 中的构建生成代码覆盖率报告 - 当我执行命令时在本地
它将运行测试,然后给我代码覆盖率结果
现在,当在詹金斯中运行相同的代码时,我得到了这个错误
/var/lib/jenkins/jobs/api-ci-develop/workspace/back-end/node_modules/path-to-regexp/index.js:63 path = ('^' + path + (strict ?'' : path [path.length - 1] === '/' ? '?' : '/?')) ^
类型错误:无法读取 pathtoRegexp 处未定义的属性“长度”(/var/lib/jenkins/jobs/api-ci-develop/workspace/back-end/node_modules/path-to-regexp/index.js:63:49)在新层(/var/lib/jenkins/jobs/api-ci-develop/workspace/back-end/node_modules/express/lib/router/layer.js:45:17)
显然正在对 node_module 文件夹做一些事情,我不知道如何避免这种情况。我排除了 nyc 配置中的文件夹和文件
我应该怎么做才能避免检查 node_modules 文件夹?
node.js - 摩卡没有显示测试用例的数量
我在我的测试用例中使用 mocha、chai、supertest 和 nyc。我所有的测试用例都按预期工作。但是我最后看不到测试用例的总数。
我无法看到有多少测试用例通过(或失败)。它只是执行它们并退出该过程。
这就是我的测试用例的结构:
这就是它的运行方式:使用npm test
:
版本:
任何线索将不胜感激:)
node.js - 如何在测试期间提高 puppeteer 启动性能
我在 Puppeteer 的帮助下编写了一个小型爬虫。现在我面临的挑战是我的测试相当慢(每次测试> 3 秒)。我已经能够追踪到launch
Puppeteer 的功能和Istanbul/nyc的使用。
- 如果我只用 运行测试
mocha
,测试将在 400 毫秒内完成。 - 但如果我另外使用
nyc
,测试的持续时间超过 3000 毫秒
我正在使用的只是
这是我正在使用的测试:
我已经使用此代码创建了一个存储库并在此处进行测试。
nyc _mocha ./test/*.test.js
运行时间约为 3500 毫秒,mocha ./test/*.test.js
仅需 130 毫秒。
到目前为止我已经尝试过:
- 包含/排除 nyc 标志的不同组合
- 更新到最新版本的 Puppeteer、nyc 和 mocha
- 删除我的 Puppeteer 参数
- 搜索 Puppeteer & Istanbul 相关问题(没有多大成功)
- 试
headless: true
- 绕过所有代理,请参阅这个 puppeteer 问题
我该怎么做才能让覆盖测试与单独的测试一样快?
使用:
- Ubuntu 19.04
- 节点.js 10.15.3