问题标签 [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 - 使用伊斯坦布尔即时检测文件
我可以检测文件/文件夹并将其写入磁盘,如下所示:
但是我想知道是否有一种方法可以即时检测文件并将它们提供给浏览器,而无需将检测文件写入磁盘。像这样的东西:
有谁知道这是否可能以及如何?
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:
regex - GitLab 代码覆盖率徽章未显示
我为 GitLab 存储库设置了 CI,并且该作业包含以下到 STDOUT 的输出。
在.gitlab-ci.yml
作业的文件中,我有coverage: /^Statements\s*:\s*([^%]+)/
. 同样,在我设置的存储库的 CI/CD 设置中^Statements\s*:\s*([^%]+)
。
然而,代码覆盖率似乎Unknown
在代码覆盖率徽章上。
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 有关。实际上,即使删除跨环境并将插件集合放在根目录中也会给我相同的空覆盖结果。
javascript - 使用 nyc 运行 mocha 时指定 mocha.opts 的位置?
是否可以指定mocha.opts
运行时的位置nyc mocha
?我想把它放在根项目文件夹中。我在我的 npm 脚本中尝试了这个:
那没有用。我确实得到了一个适用于此处描述的设置的测试用例,但mocha.opts
在test
目录中。
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
类的。
typescript - nyc (istanbul) 从覆盖率报告中排除测试代码
我正在尝试将覆盖率报告生成添加到打字稿库项目中。
布局包括以下目录:
我有一个测试脚本package.json
似乎可以正常工作:
(它生成 1413 行输出;目前所有测试都通过了)
我试图弄清楚如何nyc
运行
- 中的所有测试
test
都运行 test
覆盖率报告中不包含任何文件lib
覆盖率报告中包含所有代码文件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。