问题标签 [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 投票
0 回答
422 浏览

sonarqube - 合并来自纽约市的覆盖率报告

我有一个 CI 正在运行,它可以并行执行 mocha 测试。测试执行会创建一个覆盖率报告coverage.json- 由nyc. 我想从所有coverage.jsonlcov 格式的 s 中获得最终合并报告,但我无法生成一个 - 我总是得到一个空的文本摘要。我试过的:

  1. 运行nyc report

给出一个空的报告和文本摘要

  1. 先跑nyc merge再跑nyc report

这种组合似乎确实合并了coverage.jsons文件,至少从文件大小来看,但该report步骤仍然显示一个空的文本摘要。

  1. 用不同的版本尝试上述方法,即nyc 15.1.0nyc 14.1.1
  2. 指定此答案中概述的-t标志和选项--report-dir
  3. 更改为父目录并重新运行此答案指定的命令。

所有这些都会导致最终报告的文本摘要为空。

0 投票
1 回答
75 浏览

express - 测试项目(mocha+axios+chai)独立,如何统计服务端代码覆盖率

现在有两个项目。测试项目A使用mocha + axios + chai,Server项目使用node express。现在我想统计一下服务器项目B在运行测试项目A时能达到多少覆盖率

项目A(测试项目)

项目B(服务器项目)

我应该怎么做?

0 投票
2 回答
442 浏览

webpack - NodeJs,expressJs:webpack 错误:TypeError:mocha.useColors is not a function at configureMocha

我在用 :

我通常有 0% 的覆盖率,当我试图覆盖我用 express 制作的其余 API 时出现这个错误

注意:

  • 我是测试的超级初学者
  • 我正在使用节点 v12.13.1 并表示 4.17.1

终端截图

0 投票
0 回答
122 浏览

angular - 使用外部测试套件的角度应用程序的代码覆盖率

我有一个 Angular 应用程序 (v10),正在使用手动和基于硒的自动化套件进行测试。我没有单元测试或 e2e 测试,只有外部测试可用。

我想对我的组件/服务/助手/等进行代码覆盖。如果可能的话有什么想法以及如何做到这一点?

我有 nyc/istanbul 和 node/express 应用程序的经验,它只需通过 nyc node index.js 就可以很好地工作,但是使用 Angular 进行 nyc ng serve 编译失败,我无法访问我的应用程序!

编辑:我意识到应用程序将在浏览器中运行,但我想我希望有神奇的解决方案让它正常工作!

我真的很感激任何帮助。

0 投票
0 回答
49 浏览

graphql - 在 mocha 中为 GraphQL API 使用 istanbul(nyc) 的代码覆盖率

我已经通过互联网冲浪,但我仍然没有任何解决方案。我们可以在伊斯坦布尔使用 nyc 包为 graphQL API 进行代码覆盖吗?它工作正常并返回其余 API 的测试结果。但是我使用相同的 mocha 和 istanbul(nyc) 库进行代码覆盖,但它没有返回任何 graphQL API 的测试结果。

0 投票
1 回答
37 浏览

typescript - 打字稿边缘案例弄乱了测试覆盖率

我有一个项目设置为使用 AVA 测试运行器和 NYC 覆盖工具。我确信我有 100% 的测试覆盖率。

但是,因为我使用的是打字稿,所以打字稿编译器似乎添加了一堆带有边缘情况的 polyfill,而我的测试没有涵盖这些情况,因为根本没有办法触发它们。

如何让 NYC 计算正确的覆盖率?

0 投票
0 回答
108 浏览

javascript - 执行 node.js webapp 时使用 Jest 测试覆盖率(使用 express)

我想在使用 node 运行快速托管的 webapp 时检查我的项目代码覆盖率。
更具体地说,我想启动我的项目并在本地主机上使用 express 托管的网络应用程序,跟踪在此过程中调用了哪些函数,哪些没有。
我可以通过cover命令使用 IstanbulJS 来做到这一点,即istanbul cover /{pathTo}/webapp.js但我在伊斯坦布尔 npm 页面上读到该模块不再受支持并且 JEST 已经实现了 IstanbulJS 库。
问题是,每当我尝试运行一个命令时,例如jest --coverage /{pathTo}/webapp.js我获取有关文件本身的单元测试和覆盖率的数据,而无需快速运行并让我与 webapp 交互。
有没有办法用 JEST 做到这一点,或者我除了使用旧的伊斯坦布尔之外别无选择?

0 投票
0 回答
103 浏览

code-coverage - nyc merge 在本地的行为与在 circle ci 上的行为不同

我正在使用 nyc merge 来合并我的 Cypress 和 Jest 代码覆盖率报告。当我在本地执行以下步骤时,我得到了我期望的组合报告(覆盖范围比任一套件单独提供的要多一些)。我在 CircleCI 中执行完全相同的步骤,合并的报告仅包含 Jest 结果。我已经使用 SSH 来验证赛普拉斯覆盖率报告确实正在生成并正确复制。我已经验证我在本地和 CircleCI (15.1.0) 上运行相同版本的 nyc。

0 投票
1 回答
159 浏览

node.js - 如何在没有测试的情况下为某些 Node.JS 代码生成代码覆盖率?

我有一个build/package.json. 它有几个 .js 文件,包括在子文件夹中。在根目录中是一个文件,main.js它是项目的演示/测试平台,它实例化各种 ES6 类并尝试各种功能。它目前运行没有崩溃。

称之为穷人的端到端测试。我正在尝试使用可能被丢弃的代码快速移动。

我没有任何正式的测试。我不想为此代码库编写任何正式的测试。但我很想知道build/我的演示当前触及了多少代码,main.js.

  1. 如何使用nyc
  2. 如果这实际上并不容易(我看到的所有教程似乎都涉及从主流测试框架中检测预先存在的单元测试),那么纽约市的哪些替代方案可以让这变得容易?

我试过了

但它声称 0 行/文件。

0 投票
0 回答
155 浏览

javascript - 如何为 .vue 文件配置代码覆盖率?

我正在使用 mocha 进行单元测试并希望添加代码覆盖率。为此,我添加了 nyc、istanbul-instrumenter-loader 和 babel-plugin-istanbul,它适用于 js 文件,但对于 .vue 文件会发生错误:“TypeError: Cannot read property 'fileCoverage' of undefined”。请帮我

包.json

}

.babelrc

webpack.base.conf.js