标签: istanbul

我如何阅读伊斯坦布尔报道?

我一直使用Jasmine进行单元测试,但最近我开始使用Istanbul来给我代码覆盖报告.我的意思是我得到他们试图告诉我的要点,但我不知道每个百分比代表什么(Stmts,Branches,Funcs,Lines).到目前为止谷歌搜索我一直无法找到可靠的解释/资源.

问题:就像我说的那样,我得到了它的要点,但有人可以发布正确的解释或链接到正确的解释吗?

第三个问题:有没有办法确定代码的哪些特定部分未被涵盖?到目前为止,我还没有真正地了解这份报告,我基本上在猜测.

-------------------|-----------|-----------|-----------|-----------|
File               |   % Stmts |% Branches |   % Funcs |   % Lines |
-------------------|-----------|-----------|-----------|-----------|
   controllers/    |      88.1 |     77.78 |     78.57 |      88.1 |
      dashboard.js |      88.1 |     77.78 |     78.57 |      88.1 |
-------------------|-----------|-----------|-----------|-----------|
All files          |      88.1 |     77.78 |     78.57 |      88.1 |
-------------------|-----------|-----------|-----------|-----------|
Run Code Online (Sandbox Code Playgroud)

javascript testing code-coverage jasmine istanbul

109
推荐指数
3
解决办法
3万
查看次数

跑Mocha + Istanbul + Babel

我在使用mocha和babel编译器运行istanbul时遇到了一些问题.

我的所有测试都运行得很好,但在完成所有测试后,它会向我显示以下消息:

No coverage information was collected, exit without writing coverage information

而且它没有制作任何报道报道..

我正在运行的命令是:

NODE_ENV=test istanbul cover _mocha -- --require babel-core/register --recursive

该项目托管在github:https: //github.com/weslleyaraujo/react-flux-puzzle/tree/feat/unit-tests-24

任何想法可能是什么?

mocha.js node.js istanbul babeljs

48
推荐指数
2
解决办法
2万
查看次数

您如何使用已编译的Typescript使用Istanbul Code Coverage?

我整个上午都在阅读这篇文章,试图正确设置我的环境.但由于某种原因,我没有得到它.我的设置 -

/app
    ... source (mixed js and ts)
/scripts
    ... copied source (js)
    typescripts.js // transpiled typescript with inline mapping
Run Code Online (Sandbox Code Playgroud)

测试运行正常,并且chrome调试器中的映射调试已正确映射.但伊斯坦布尔将typescripts.js文件视为一个文件,而不是几十个其他文件的串联.

要生成我正在使用的打字稿源gulp-typescript.源(不包括测试)被转换为前面提到的typescripts.js,测试被单独转换并复制到/scripts.

  var ts = require('gulp-typescript');
  var sourcemaps = require('gulp-sourcemaps');
  var concat = require('gulp-concat');

  module.exports = function (gulp, config) {
     'use strict';

     // Runs dot ts files found in `www` through the typescript compiler and copies them as js 
     // files to the scripts directory

     gulp.task('typescript', ['typescript:tests'], function () {
        return …
Run Code Online (Sandbox Code Playgroud)

javascript typescript karma-runner istanbul gulp

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

Blanket.js vs Istanbul-js vs JSCover

我试图决定JS测试代码覆盖率工具,但无法清楚地看到它们之间的差异.谷歌的热门歌曲是blanket.js,istanbul-js和JSCover.

任何人都可以提供有关它们与优点/缺点之间关键差异的任何信息吗?

还有其他有用的吗?

javascript testing istanbul blanket.js

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

JavaScript单元测试的代码覆盖范围是什么?

我使用伊斯坦布尔代码覆盖AngularJS项目中的单元测试.有4种类型的报道,它们是

  • 声明
  • 功能
  • 线

声明,功能和线路都没问题,但我不明白"分支"是什么.什么是分支?

javascript unit-testing code-coverage istanbul

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

Jest 查找测试但不收集覆盖率

我尝试使用此项目收集测试覆盖率

yarn test --coverage # i.e. "react-scripts test --coverage"
Run Code Online (Sandbox Code Playgroud)

我的笑话配置是这样的:

  "jest": {
    "collectCoverageFrom": [
      "src/**/*.ts*"
    ],
    "coverageThreshold": {
      "global": {
        "lines": 90,
        "statements": 90
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

我的文件夹结构如下:

.
??? package.json
??? postcss.config.js
??? public/
??? README.md
??? src/
?   ??? App.css
?   ??? App.test.tsx
?   ??? App.tsx
?   ??? assets/
?   ??? components/
?   ?   ??? Emoji/
?   ?   ?   ??? Emoji.test.tsx
?   ?   ?   ??? Emoji.tsx
?   ?   ?   ??? index.ts
?   ?   ??? Home/
? …
Run Code Online (Sandbox Code Playgroud)

typescript istanbul reactjs jestjs

32
推荐指数
5
解决办法
3万
查看次数

Jest:忽略代码覆盖的行

在Jest中,有没有办法忽略测试覆盖的代码?我试过用

/* istanbul ignore next */
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.

code-coverage istanbul jestjs

28
推荐指数
4
解决办法
1万
查看次数

使用Mocha和Istanbul时从coverage中排除文件

使用mocha和instanbul时,如何从coverage报告中排除文件夹和文件(按路径)?

我希望通过配置排除而不是

/*istanbul ignore next*/
Run Code Online (Sandbox Code Playgroud)

在每个文件中.

(Jenkins生成的报告使用)

谢谢,

mocha.js node.js jenkins istanbul

25
推荐指数
3
解决办法
2万
查看次数

如何获得karma-coverage(伊斯坦布尔)来检查所有源文件的覆盖范围?

代码结构

我有一个app类似的目录结构

scripts/sequoia/                              
??? GraphToolbar.js                     
??? nodes                                     
?   ??? activityNode.js                       
?   ??? annotationNode.js                     
??? OverviewCanvasControl.js                  
??? settings                                  
    ??? GraphControlSettingsFactory.js        
    ??? SnapContextFactory.js                 
Run Code Online (Sandbox Code Playgroud)

我的test目录当前看起来如此

test/spec/                                        
??? GraphToolbarSpec.js                           
??? settings                                      
?   ??? graphControlSettingsFactorySpec.js        
?   ??? snapContextFactorySpec.js                 
??? test-main.js
Run Code Online (Sandbox Code Playgroud)

请注意,到目前为止我只有GraphToolbarsettings/文件一样; 有没有测试尚未进行OverviewCanvasControl.jsnodes/文件.

业力配置

在我karma.conf.js(coveragekarma-coverage):

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

问题

当我运行业力时,覆盖预处理器和报告器运行,但它只检查已经编写规范的文件.我想报告0%的覆盖率OverviewCanvasControl.jsnodes/没有覆盖的文件.当创建一个新文件并运行karma时,我希望它能够捕获该文件还没有Spec.

如何让Karma检查所有匹配的源文件以获取覆盖范围,而不仅仅是那些已经创建了规范的文件?

karma-runner istanbul

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

使用istanbul向测试脚本发送参数

我正在尝试使用istanbul查看我的Mocha测试代码覆盖率,但我需要提供测试脚本的参数,因为否则它只运行测试目录中的测试.--recursive_mocha

我试过istanbul cover "_mocha --recursive"但它说无法解析文件[_mocha --recursive].

mocha.js istanbul

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