标签: blanket.js

Blanket.js vs Istanbul-js vs JSCover

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

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

还有其他有用的吗?

javascript testing istanbul blanket.js

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

运行Blanket.js

我正在使用Node中的Jasmine以编程方式测试一些代码.为此,我设置了以下内容:

function runTests() {
    var Jasmine = require('jasmine');
    var jasmine = new Jasmine();    

    jasmine.loadConfig({
        spec_dir: 'unit-tests',
        spec_files: [
            'tests-*.js'
        ]
    });

    var blanket = require('blanket')();

    var TerminalReporter = require('jasmine-terminal-reporter');
    var reporter = new TerminalReporter({});
    jasmine.addReporter(reporter);      

    jasmine.execute();  
}

runTests();
Run Code Online (Sandbox Code Playgroud)

当这些测试运行时,我想获得代码覆盖的详细信息.在尝试这个时,我偶然发现了blanket.js.我的问题是,如何以编程方式输出代码覆盖率结果?使用上面的代码,我收到一个错误.错误只是说:

Error: Bad file instrument indicator.  Must be a string, regex, function, or array.
Run Code Online (Sandbox Code Playgroud)

为什么?我究竟做错了什么?

更新

在我的package.son文件中,我有以下部分:

"config": {
  "blanket": {      
    "data-cover-flags": {
      "engineOnly":true
    }
  }      
}
Run Code Online (Sandbox Code Playgroud)

我已将我的runTests功能更新为如下所示:

function runTests() {
    var Jasmine = require('jasmine');
    var jasmine = …
Run Code Online (Sandbox Code Playgroud)

javascript jasmine blanket.js

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

Ember CLI和代码覆盖率

有没有人设法使用Ember CLI项目获得代码覆盖率?

我已经尝试使用blanket.js伊斯坦布尔,因为有其他在这里,这里这里,也没有用任何的成功.我设法让每个人实际生成一份报道报告,但报告要么说是0%(伊斯坦布尔),要么是100%(blanket.js),目前的测试无法提供100%的覆盖率.

Ember CLI生成的构建项目JavaScript文件包含项目的所有源文件,每个文件的内容都输出到一行,有时是大量的行.因此,即使覆盖工具能够为构建文件中的代码生成实际覆盖度量指标,也存在查看结果的问题.上帝只知道如何将其链接回原始源文件?

Ember CLI很棒,看起来很受欢迎,所以我很惊讶更多的人没有遇到这个问题.也许其他人不会受到代码覆盖的困扰,或者大多数人只是让它在没有问题的情况下工作,而我却错过了一些东西.

code-coverage istanbul blanket.js ember-cli

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

BlanketJS + Jasmine 2.0无法正常工作

我一直在测试Jasmine 2.0.0,它没有任何问题.但是当我将BlanketJS附加到我的代码时会出现问题.

我用了一个specRunner(https://github.com/alex-seville/blanket/blob/master/test/jasmine-requirejs/runner.html与茉莉花1.3.1工程).但是当我用Jasmine 2.0.0替换Jasmine 1.3.1时,它不起作用,

这是BlanketJS repo的原始代码:

<html>
<head>
<title>Jasmine Spec Runner</title>
<link rel="stylesheet" type="text/css" href="../vendor/jasmine.css">
<script type="text/javascript" src="../vendor/jasmine.js"></script>
<script type="text/javascript" src="../vendor/jasmine-html.js"></script>
<script type="text/javascript" src="../helpers/console_runner.js"></script>
<script type="text/javascript" src="../../node_modules/requirejs/require.js"></script>
<script type="text/javascript" data-cover-only="code/" data-cover-never="['all.tests','code/tests']" 
src="../../dist/qunit/blanket.js"> </script>
<script type="text/javascript" src="../../src/adapters/jasmine-blanket.js"></script>

<script type="text/javascript">
    if (window.require && typeof (window.require.config) === 'function') {
        require.config({
            baseUrl: './code'
        });
    }
</script>
<script type="text/javascript" src="code/all.tests.jasmine.js"></script>

<script type="text/javascript">
    (function () {
        window.blanketTestJasmineExpected=2;

        var jasmineEnv = jasmine.getEnv();
        jasmineEnv.updateInterval = 1000;

        var htmlReporter = new jasmine.HtmlReporter();
        var oldResult = htmlReporter.reportRunnerResults; …
Run Code Online (Sandbox Code Playgroud)

javascript requirejs jasmine blanket.js

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

我使用毯子在mocha代码覆盖范围内获得0%覆盖0 SLOC

我想在MOCHA JS测试中获得代码覆盖率.我正在使用毯子,但我得到0%的覆盖率0 SLOC为什么我不理解.我的package.json是

{
  "name": "basics",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "mocha && mocha test --require blanket --reporter html-cov > coverage.html"
  },
  "author": "",
  "license": "MIT",
  "devDependencies": {
    "chai": "~2.2.0",
    "mocha": "~2.2.4",
    "blanket": "~1.1.6",

  },
  "config": {
    "blanket": {
      "pattern": ["index.js"],
      "data-cover-never": "node_modules"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

和index.js是

exports.sanitize = function(word){


    return word.toLowerCase().replace(/-/g, ' ');
}

exports.testToString = function(){


    return word.toLowerCase().replace(/-/g, ' ');
}
Run Code Online (Sandbox Code Playgroud)

和indexSpec.js在测试文件夹下

var chai = require('chai');
var expect = require('chai').expect;
var word = require('../index.js'); …
Run Code Online (Sandbox Code Playgroud)

javascript mocha.js node.js chai blanket.js

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

在javascript中组合代码覆盖率报告以用于工作服

我有基于node.js的项目,也包括客户端代码.我有2个独立的单元测试套件,1个用于前端,1个用于后端.我目前有摩卡运行使用毯子进行代码覆盖,并将结果传递到工作服模块,如下所示:

mocha --require blanket --reporter mocha-lcov-reporter server/test/unit | ./node_modules/.bin/coveralls
Run Code Online (Sandbox Code Playgroud)

我基本上需要结合这两个测试运行(服务器和客户端)的输出:

mocha --require blanket --reporter mocha-lcov-reporter server/test/unit
Run Code Online (Sandbox Code Playgroud)

mocha --require blanket --reporter mocha-lcov-reporter client/test/unit
Run Code Online (Sandbox Code Playgroud)

和管道进入工作服模块.

这可能吗?我该怎么做?

unit-testing mocha.js node.js coveralls blanket.js

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

如何使用grunt-mocha-cov确保git提交的100%代码覆盖率

我正在尝试建立一个连续集成环境(使用快速构建),其中在每次提交到git分支时,我想运行我们的测试套件,检查代码覆盖率并恢复提交,如果测试失败或代码覆盖率低于某个阈.特别是我想确保我正在检查的代码是100%测试的.我们的测试套件已经使用grunt和mocha-hack设置,我们使用grunt-mocha-cov进行覆盖.但是grunt-mocha-cov可以检测整个源代码.我只想要git差异进行检测.有没有办法做到这一点?

git code-coverage mocha.js gruntjs blanket.js

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

Blanket.js无法使用qunit

我无法使用blanket.js测试覆盖率来使用qunit,尽管很多尝试重新配置并尝试调用调试,但实际上没有任何反应.

这些是我试图遵循的文档说明 - https://github.com/alex-seville/blanket/blob/master/docs/getting_started_browser.md#getting-started-guide-browser-version

这是我的试运行员

<!doctype html>
<html>
    <head>
    <meta charset='UTF-8' />
    <meta http-equiv='content-type' content='text/html; charset=utf-8' />

    <title>bootstrap-treeview.js Tests</title>

    <link rel='stylesheet' href='./lib/qunit-1.12.0.css'>

    <script src='./lib/jquery.js'></script>
    <script src='./lib/qunit-1.12.0.js'></script>
    <script data-cover-flags="debug" src="./lib/blanket.min.js"></script>
    <script data-cover src='./lib/bootstrap-treeview.min.js'></script>
    <script src='./tests.js'></script>
</head>
<body>
    <div id="qunit"></div> 
    <div id='qunit-fixture'>
        <div id="treeview"></div>
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

我必须遗漏一些基本的东西,没有控制台错误,没有任何东西.我的报告运行正常,qunit报告像往常一样显示,但没有添加毯子.尽管添加了data-cover-flags ="debug",但没有生成额外的覆盖率报告,也没有调试.

任何帮助,方向,非常感谢?

javascript unit-testing qunit blanket.js

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