标签: istanbul

使用 selenium Java 或 cypress 中的 e2e 进行 Angular/SPA 应用程序的代码覆盖率

我们想要测量 Angular 8 应用程序代码覆盖率。我们有一个用 selenium java 编写的 e2e 测试用例,它加载部署在浏览器中另一台机器上的 Angular 应用程序,并运行一些 e2e 测试用例集。问题是我如何测量 Angular 应用程序 javascript 代码覆盖率。

在高层,我可以想到一些使用 istanbul 来检测我的 Angular JavaScript 代码的机制。Istanbul 将通过在浏览器中加载应用程序来记录 selenium java 代码执行 e2e 测试用例时的代码覆盖率。

寻找详细步骤我如何做同样的事情。

code-coverage single-page-application istanbul angular8

3
推荐指数
1
解决办法
2348
查看次数

伊斯坦布尔:用mocha生成代码cobertura报告

我不能用伊斯坦布尔运行我的摩卡测试生成一份cobertura报告.

istanbul report cobertura cover _mocha test
Run Code Online (Sandbox Code Playgroud)

cobertura-coverage.xml中的报告为空.

请注意,如果我运行没有报告选项(istanbul cover _mocha test)一切正常,我可以在控制台中看到覆盖率摘要.

我有什么想法我做错了吗?

javascript code-coverage mocha.js istanbul

2
推荐指数
1
解决办法
6458
查看次数

'istanbul' 不被识别为内部或外部命令

我刚刚将istanbul测试覆盖率模块添加到我的 node.js 应用程序中,但是当我运行时(从命令提示符):

> instanbul cover myTests.js
Run Code Online (Sandbox Code Playgroud)

如文档中所述,我得到:

'istanbul' is not recognized as an internal or external command
Run Code Online (Sandbox Code Playgroud)

我在 Windows 7 下。 npm 安装没有返回错误。我在文档中没有看到有关额外安装步骤的内容。

我错过了什么?

windows-7 node.js istanbul

2
推荐指数
1
解决办法
4603
查看次数

如何将现有的伊斯坦布尔 json 文件转换为 html

我想istanbul将从客户端获取的 JSON 格式的覆盖率报告文件转换为 html 格式。目前我正在使用remap-istanbul这个,但实际上那个特定的工具旨在为最初用不同语言(如打字稿)编写的代码重新映射覆​​盖率数据。

所以我想是否有更方便的方法来做同样的事情

javascript code-coverage istanbul remap-istanbul

2
推荐指数
1
解决办法
2686
查看次数

为包目录外的文件启用 nyc/istanbul 代码覆盖

我有一个节点应用程序,其中包含单独的姐妹文件夹以及用于应用程序代码和测试的随附 package.json 文件。

Project
|
|-----Application
          |-----app.js
          |-----package.json
|-----Tests
        |
        |-------test.js
        |-------package.json  (nyc added here)
Run Code Online (Sandbox Code Playgroud)

nyc 作为依赖项(与 mocha 一起)包含在测试文件夹中。它无法显示应用程序文件夹中文件的覆盖范围。我尝试通过在 nyc 配置中包含“../Application/**/*.js”来显式包含应用程序文件,但这似乎不起作用。

有任何想法吗?

javascript mocha.js istanbul nyc

2
推荐指数
1
解决办法
2792
查看次数

将角度控制器添加到karma-coverage(伊斯坦布尔)代码覆盖预处理器

这就是我的项目设置方式:

project/
  assets/
    js/
      app.js
      services.js
      directives.js
      controllers/
        FooCtrl.js
        BarCtrl.js
    css/
    images/
  test/
    unit/
      controllers/
        controllerSpec.js
Run Code Online (Sandbox Code Playgroud)

我正在努力将所有文件添加js/到karma-coverage的preProcessor指令中.

这样做

preprocessors: {
  '**/assets/js/*.js': ['coverage'],
},
Run Code Online (Sandbox Code Playgroud)

仅为文件直接生成覆盖率报告,assets/js/但不为其下的文件生成assets/js/controllers/.

指定单个控制器:

preprocessors: {
   '**/assets/js/controllers/FooCtrl.js': ['coverage'],
},
Run Code Online (Sandbox Code Playgroud)

只是说'没有要显示的数据'.

最后,只是做一个通配符:

preprocessors: {
   '**/*.js': ['coverage'],
},
Run Code Online (Sandbox Code Playgroud)

直接下的所有文件显示的数据assets/js/,test/unit/controllers/ test/lib/等等,但它仍然拒绝显示任何覆盖数据assets/js/controllers/.

javascript code-coverage angularjs karma-runner istanbul

1
推荐指数
1
解决办法
1611
查看次数

测试结果和文档站点

目前我正在使用这些工具来运行我的测试,代码覆盖率和文档:

单元测试:

  • 茉莉
  • 的xUnit

代码覆盖范围:

  • 伊斯坦布尔
  • dotCover

文档:

  • Typedoc

因为我正在尝试为前端和后端做所有模块化工作,我们有多个bower组件和nuget包,当然每个组件运行不同类型的测试和文档.

现在我想做的是拥有一个专门的网站,它可以获取所有的测试结果和文档,并有一个专门的网站,所有开发人员等都可以将它作为参考点.

有没有可以帮助我实现它的插件?

如果没有,你有什么想法我可以从哪里开始,因为我尝试谷歌搜索,但没有运气.

unit-testing code-coverage xunit istanbul karma-jasmine

1
推荐指数
1
解决办法
103
查看次数

从节点运行mocha测试

我试图从节点运行我的摩卡测试.最终目标是通过istanbul/blanket添加代码覆盖,并生成一个lcov文件,用于输入声纳以进行代码覆盖.

这是一个示例项目,我正在尝试 https://github.com/rajarshigoswami/Todos

摩卡测试在 https://github.com/rajarshigoswami/Todos/tree/master/test/mocha下

测试是从浏览器运行的,但是当我通过节点尝试时,它不会接收任何spec文件.

使用方法:运行:npm install then:grunt

我的问题是:

  1. 我在这里错过了什么或做错了什么?
  2. 如何集成blanket.js/istanbul以生成lcov文件

javascript mocha.js requirejs gruntjs istanbul

1
推荐指数
1
解决办法
342
查看次数

Teamcity + NYC + Istanbul - 生成测试覆盖率报告

我正在尝试在每次构建时生成测试报告到 teamcity 中。我研究了几种方法,最终找到了伊斯坦布尔的 teamcity 记者:teamcity

现在我正在尝试将其集成到 teamcity 中,但我还没有找到任何有关它的说明。

teamcity code-coverage mocha.js istanbul

1
推荐指数
1
解决办法
1248
查看次数

如何从 json 结果生成 nyc 报告(没有 .nyc_output)?

我继承了一个带有 Jasmine 单元测试的 JS 代码库。测试框架使用karmainstanbul-combine获取代码覆盖率。它似乎istanbul-combine不适用于当前的节点模块,此外不再维护:推荐的替换是nyc. 我无法代替istanbul-combinenycMakefile

我成功地将我单独的覆盖结果 (json) 文件合并到一个coverage-final.json文件中(这个 SO 问题),但现在我需要生成摘要报告。

如何从coverage.json文件生成摘要报告?

我认为这里的一个问题是我没有.nyc_output带有中间结果的目录,因为我没有nyc用来生成覆盖数据。我所有的覆盖数据都在一个coverage目录及其子目录中。

我试过指定一个文件名:

npx nyc report --include coverage-final.json
Run Code Online (Sandbox Code Playgroud)

还尝试指定目录:

npx nyc report --include coverage
Run Code Online (Sandbox Code Playgroud)

两者都不起作用。

----------|---------|----------|---------|---------|-------------------
File      | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
----------|---------|----------|---------|---------|-------------------
All files |       0 |        0 |       0 | …
Run Code Online (Sandbox Code Playgroud)

istanbul nyc

1
推荐指数
2
解决办法
3612
查看次数

如何在没有大量注释的情况下获得接受 TypeScript 详尽性检查的工具?

我写了很多使用穷举检查的代码。

在下面的代码中,_exhaustivenessCheck如果有人添加到UnitOfTime联合中,带有will(故意)的行会出现类型错误。我喜欢这种编程风格,但是当结合代码覆盖率和强大的 linter 时,它变得很痛苦:

function waterFrequencyToMilliseconds(unitOfTime: UnitOfTime): number {
  switch (unitOfTime) {
    case 'days':
      return number * ONE_DAY;
    case 'weeks':
      return number * ONE_WEEK;
  }
  /* istanbul ignore next */
  // eslint-disable-next-line
  const _exhaustivenessCheck: never = unitOfTime;
}
Run Code Online (Sandbox Code Playgroud)

我需要告诉伊斯坦布尔和 eslint 在我做正确的事情时让我一个人呆着。

有没有一种标准的方法来处理这种情况,而不必添加“忽略”和“禁用”注释或完全关闭 lint 规则或代码覆盖率?

typescript istanbul typescript-eslint

1
推荐指数
1
解决办法
63
查看次数

Jasmine 中的代码覆盖率中未涵盖的语句

我对 Jasmine 进行了单元测试。当我运行这个单元测试时,它没有任何错误,但是当我在代码覆盖率中查看它时。它显示一些错误消息:“声明未涵盖”

错误

我想解决这个错误。我能做什么?谢谢

unit-testing code-coverage jasmine angularjs istanbul

0
推荐指数
1
解决办法
8623
查看次数

伊斯坦布尔报道问题“没有采取其他路径”,但显然是

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

出于某种原因,该报告给了我一个问题“没有采取的其他路径”,但我无能为力。

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

在此处输入图片说明

javascript code-coverage istanbul babeljs nyc

0
推荐指数
1
解决办法
4779
查看次数