问题标签 [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.

0 投票
1 回答
945 浏览

testing - Mocha, nyc 代码覆盖率 - 仅覆盖测试文件

我写了一些放在文件夹 test 中的测试。

在此处输入图像描述

问题: nyc 的代码覆盖率只显示测试文件的 CC。 希望: src 中的所有文件都以百分比显示在 CC 中,即使它们尚未经过测试。

我的包 json 和脚本:

testing_helper.js例如有很多导入。jsdom,所以每当我尝试使用 nyc 的配置制作脚本时,包括: testing_helper.js 它总是说:

意外的导入令牌 -> 和对 jsdom 的引用。

谢谢你的帮助。

0 投票
1 回答
1250 浏览

istanbul - 纽约市相当于伊斯坦布尔的命令

我正在尝试将我的istanbul代码覆盖率命令转换为nyc.

现在似乎nyc是 istanbul 测试覆盖率库的命令行界面。

在伊斯坦布尔,我们会得到这样的报道:

然后我们会得到一个像这样的综合报告:

所以我试图确定等效命令是什么nyc-

要获得纽约市的报道,看起来我可以这样做:

但是当我查看 .nyc_output 时,有一堆 .json 文件,但它们似乎没有任何数据。

如果我尝试获取报告,请使用

该报告命令似乎没有做任何事情,.nyc_output目录看起来和以前一样:

在此处输入图像描述

注意我可以使用配置文件并避免在命令行中使用额外的命令。

0 投票
1 回答
938 浏览

node.js - 使用伊斯坦布尔即时检测文件

我可以检测文件/文件夹并将其写入磁盘,如下所示:

但是我想知道是否有一种方法可以即时检测文件并将它们提供给浏览器,而无需将检测文件写入磁盘。像这样的东西:

有谁知道这是否可能以及如何?

0 投票
2 回答
599 浏览

vuejs2 - vue-loader mocha-webpack lcov 报告在文件路径中有重复的文件夹

我有一个最初使用 vue-cli 创建的项目,但后来转换为使用 mocha-webpack。我已按照此处的指南添加代码覆盖率:https ://github.com/zinserjan/mocha-webpack/blob/master/docs/guides/code-coverage.md

我正在尝试获取 .vue 文件的代码覆盖率,但在报告中任何 .vue 文件的路径都设置为 src/components/Component/src/components/Component

截至今天最新的所有包,所有其他配置与初始 vue-loader 相同。如果有人发现问题,或者甚至可以指出我正确的方向,将不胜感激。

脚本:

package.json 中的 nyc 配置:

webpack.test.conf.js:

vue-loader.conf.js:

0 投票
2 回答
2481 浏览

regex - GitLab 代码覆盖率徽章未显示

我为 GitLab 存储库设置了 CI,并且该作业包含以下到 STDOUT 的输出。

.gitlab-ci.yml作业的文件中,我有coverage: /^Statements\s*:\s*([^%]+)/. 同样,在我设置的存储库的 CI/CD 设置中^Statements\s*:\s*([^%]+)

然而,代码覆盖率似乎Unknown在代码覆盖率徽章上。

0 投票
1 回答
871 浏览

javascript - 使用 rewire / cross-env 获取覆盖率报告时出错

我正在尝试使用 nyc 获取覆盖率报告,如果我不使用 cross-env 插件,它会很好地工作。

cross-env NODE_ENV=test nyc mocha --ui bdd --reporter spec --colors --require babel-core/register tests --recursive

执行此命令,代码覆盖率将无法正常运行,结果如下:

但是,如果我运行nyc mocha --ui bdd --reporter spec --colors --require babel-core/register tests --recursive它,它将按预期工作。

问题是我需要设置 env 变量才能使用允许我正确运行测试的 rewire 插件(事实上,大多数测试都因此而失败)。

这是我的 .bebelrc

注意:我认为这个问题与 babel-plugin-rewire 有关。实际上,即使删除跨环境并将插件集合放在根目录中也会给我相同的空覆盖结果。

0 投票
1 回答
615 浏览

javascript - 使用 nyc 运行 mocha 时指定 mocha.opts 的位置?

是否可以指定mocha.opts运行时的位置nyc mocha?我想把它放在根项目文件夹中。我在我的 npm 脚本中尝试了这个:

那没有用。我确实得到了一个适用于此处描述的设置的测试用例,但mocha.optstest目录中。

0 投票
1 回答
1208 浏览

javascript - 无法使用 nyc/istanbul 进行代码覆盖

我正在使用nightwatch基于 selenium 的测试,但是当我使用 时nyc nightwatch,它只报告测试代码及其 100% 的覆盖率。这是我现在的主要障碍。我如何获得保险?基本上,我希望最终将其作为 Jenkins CI 的报告。

此外,我还想用我正在使用的 UT 进行测试jest。通常,"test": "jest --coverage"将正确列出所有测试代码的覆盖率。所以当我给它时nyc npm run test,它会给我同样的覆盖面,这很好。但是当我只用 运行时nyc jest,它会返回 100% 的覆盖率jest.config.js!!

我没有mocha或之grunt类的。

0 投票
1 回答
5107 浏览

javascript - 伊斯坦布尔报道问题“未采取其他路径”但显然是

我在下面有这段代码,我正在使用nycbabel创建一个覆盖率报告。

出于某种原因,报告给了我一个“未采取其他路径”的问题,但我无法阻止这种情况。

为什么会在这里?我怎样才能让它消失?

在此处输入图像描述

0 投票
1 回答
2929 浏览

typescript - nyc (istanbul) 从覆盖率报告中排除测试代码

我正在尝试将覆盖率报告生成添加到打字稿库项目中。

布局包括以下目录:

我有一个测试脚本package.json似乎可以正常工作:

(它生成 1413 行输出;目前所有测试都通过了)

我试图弄清楚如何nyc运行

  1. 中的所有测试test都运行
  2. test覆盖率报告中不包含任何文件
  3. lib覆盖率报告中包含所有代码文件
  4. lib覆盖率报告中不包含任何类型信息文件

我想我用这个命令得到了#1:

有这个输出:

(但更丰富多彩;我正在使用--reporter nyan,因为我不想重复测试脚本的 1413 行输出)

该输出未能实现目标 2 和 3;这个问题是关于目标 2:

我如何告诉 nyctest从覆盖率报告中排除?

(报告错误也让我感到困扰——没有涵盖其他测试的测试,但这不是这个问题的意义所在。)

我尝试在命令中添加各种包含和排除项,但都没有影响输出:

  • -x 构建/测试
  • -x '**/*.spec.js'
  • -x '**/*.spec.tsx'
  • -x '构建/测试/**'
  • -x 测试
  • -x '构建/测试/**/*.spec.js'
  • -x '构建/测试/**/*.spec.tsx'
  • -x '测试/**'
  • -x '测试/**/*.spec.js'
  • -x '测试/**/*.spec.tsx'
  • -n 库
  • -n 构建/库
  • -n 源/库
  • -x 构建/库
  • -x 库
  • -x 源/库
  • -X 测试
  • -X 构建/测试
  • -X 源/测试

(如您所见,我不确定这些 basedir 是什么;我没想到会在报告中看到源文件名,但nyc显然正在做一些事情,但在报告中都src没有build显示。 )

阅读此答案后,我尝试了包含选项,但没有帮助。在为 lib 添加排除项并没有看到任何效果后,我得到的印象是排除选项不起作用。我不会按照这个答案中的建议切换到 ES6,直到与我一起工作的人仍然支持 IE。