问题标签 [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.
node.js - ES6 代码覆盖 nyc/mocha 为什么这条线被标记为未覆盖?即使乐趣运行
我想知道为什么这条 ES6 行被标记为未覆盖:
包.json
结果报告:
嗯.js | 100 | 40 | 100 | 100 | 113 |
user.model.js (um.js)
运行此方法,因为 console.log 显示消息:
感谢您的反馈
reactjs - 当 NODE_ENV 设置为测试时,nyc (istanbul) 不起作用
我正在对使用 ES6 语法编写的 React 组件执行 mocha 测试。我正在使用伊斯坦布尔进行代码覆盖率测试。当我将我的设置NODE_ENV
为“测试”时,我得到以下输出:
可以看出,它表示一切都是未知的。当我删除NODE_ENV
变量时,它工作正常。我该怎么做才能在上述环境中运行此测试?
node.js - ES6 伊斯坦布尔代码覆盖率:如何正确测试分支
我不明白测试覆盖率如何处理这个 .catch() 分支:
我正在正确测试第一个块:
if (e.name === 'ValidationError' && e.errors.username.kind === 'unique') {...)
而且我没有测试第二个 else 块,所以我添加了一个忽略下一条语句:
else { /* 伊斯坦布尔忽略下一个 */ next(e); }
代码代码覆盖率报告第 58 行。(如果..)未覆盖..
但是以下测试正在正确执行,涵盖了这一行......
javascript - `nyc mocha` 没有覆盖数据
虽然我的测试运行得很好
一切都为零,在./coverage
目录内部也没有覆盖信息:(
我的项目非常基础(ES2015):
这是我的.babelrc
:
和.nycrc
文件
我还使用 ES5 进行了相同的设置,但结果相同。有什么建议为什么我没有报道?
更新:解决方案可以在这里找到
javascript - 按文件夹分组伊斯坦布尔代码覆盖率报告
我正在使用 istanbul 和 nyc 命令运行 NodeJs 的代码覆盖率报告。
我正在使用 mocha 进行单元测试
正如预期的那样,我得到了每个文件的报告,但我希望看到的是具有单个目录摘要的报告。让我更详细地解释一下我得到了什么以及我想看到什么
我所有的源文件都在一个文件夹中,我想查看该文件夹的摘要,而不是该文件夹中每个文件的完整列表
这是我的文件夹结构的样子
我的.babelrc
文件看起来像这样
我正在使用以下命令运行覆盖率测试
src/coverage/NodeJs/index.html
我所有的测试都运行良好,它们通过了,并且报告按预期输出到文件中。在浏览器中,该报告如下所示:
我想看到的是这样的,我可以看到整个文件夹的单个完整摘要,然后在必要时单击文件夹以深入其中,如下所示:
现在,如果我有超过 1 个被覆盖的文件夹,我可以得到那种效果。例如......如果我摆脱了exclude
我的文件.babelrc
中的src
src/tests
但问题是我不希望我的测试被覆盖......正如你所看到的,它弄乱了数字。我只想覆盖一个文件夹,并希望在 HTML 输出文件中看到一个文件夹摘要。
关于如何实现这一目标的任何建议?(如果我没有提供足够的信息,请告诉我)
mocha.js - IstanbulJS 代码覆盖率显示 100% 行覆盖率但 <100% 语句覆盖率
我使用 Mocha 作为我的测试运行程序,使用 nyc 作为测试报告员。我没有看到任何未覆盖的行,并且想知道是否有人知道如何在覆盖每一行的同时发现函数和语句。想法?
node.js - 伊斯坦布尔/纽约代码覆盖率问题
我正在使用 ExpressJS,并使用 mocha 创建了单元测试以及使用 istanbul nyc 的覆盖率。我已经实现了一条路线(参见下面的代码)并正在验证我的测试的代码覆盖率。
以下寄存器 100% 覆盖,
但以下寄存器的覆盖率为 0%:
两者都工作并且都通过了单元测试。第二个,IMO,“应该”也以 100% 的覆盖率注册。
任何想法如何使第二个版本注册?为什么它不能按原样工作?
注意:我正在使用 mocha 进行测试。上面的逻辑不是测试逻辑,而是我的测试最终调用的逻辑
babeljs - 测试通过,覆盖率未显示
我正在努力让所有人都相处nyc
ava
融洽。babel
我遇到了一个问题,其中 async / await 分支显示为未涵盖,所以这是有效的,我在集成babel-plugin-istanbul
插件以进行测试时遇到了麻烦。
我在项目中有两个文件,src/index.js
并且src/test.js
.
这是正在运行的:
为什么没有src/index.js
出现在报道中?
javascript - 如何使用 npm 脚本运行客户端 javascript 的代码覆盖率
我有一个用基本 javascript 编写的客户端 Web 应用程序,它应该在另一个应用程序内的修改后的 chromium 浏览器中运行。代码被广泛重构以在当前设置中工作并更新以使用 ES6 功能。旧版本使用 Grunt 进行了一些基于浏览器的 mocha 测试。
我现在想在新设置中添加测试(并在必要时重写它们)并添加代码覆盖率并用 npm 脚本替换 Grunt。
到目前为止,我设法重写了一些测试并使用以下方法运行它们:
./node_modules/babel-cli/bin/babel.js js --out-dir tmp/js --source-maps
./node_modules/babel-cli/bin/babel.js test --out-dir tmp/test --source-maps
./node_modules/mocha-phantomjs-core/mocha-phantomjs-core.js test/test-spec.html spec <some options>
这给出了测试的输出。他们都通过了。
现在我想使用 nyc 添加覆盖范围,但我不知道如何让它工作。我找到了mocha-phantomjs-istanbul但这似乎使用了 mocha-phantomjs(已弃用)和 istanbul 1.x(已弃用)。
我需要做什么才能向此配置添加代码覆盖率?
node.js - 从 npm 运行时将选项传递给 mocha
我正在为我的项目设置 nyc/mocha。我想在--exit
带/不带 nyc 运行 mocha 时将选项传递给 mocha。
这是我的packages.json:
但是当我运行 npm test 或 npm run test-with-coverage 时,这会引发无效选项错误。
你如何将任何选项从 npm 传递给 mocha?