使用RequireJS加载我的Jasmine单元测试时,看不到任何Blanket覆盖报告,即使配置没有错误也是如此

时间:2014-12-05 12:22:21

标签: requirejs jasmine blanket.js

在我提出问题之前,我将介绍我使用的库

  1. 单元测试框架:Jasmine 1.3.1
  2. AMD Loader:RequireJS
  3. 代码覆盖率工具:Blanket
  4. 我的单元测试都已设置完毕。我一直试图对我的应用程序的一个小模块进行一些测试。 (小到1个src文件和1个单元测试文件)。经过大量的Google搜索和stackoverflowing后,我将Blanket配置为在我的主要SpecRunner.js中工作。

    这是我的SpecRunner.html

    
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
      "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
      <title>Jasmine Spec Runner</title>
      <link rel="shortcut icon" type="image/png" href="lib/jasmine-1.3.1/jasmine_favicon.png">
      <link rel="stylesheet" type="text/css" href="lib/jasmine-1.3.1/jasmine.css">
    <script src="lib/blanket/blanket.min.js"></script>
      <script type="text/javascript" src="../../require-2.1.4.min.js" data-main="SpecRunner"></script>
      
    
      
    </head>
    <body>
    
    </body>
    </html>
    &#13;
    &#13;
    &#13;

    这是我的SpecRunner.js

    &#13;
    &#13;
    require.config({
        urlArgs: 'cb=' + Math.random(),
        paths: {
            'jquery': '../../../libs/jquery',
            'jquery-ui': '../../../libs/jquery-ui',
            'bootstrap': '../../../libs/bootstrap-2.3.1.min',
            'jasmine': 'lib/jasmine-1.3.1/jasmine',
            'jasmine-html': 'lib/jasmine-1.3.1/jasmine-html',
            'blanket-jasmine': 'lib/blanket/jasmine-blanket',
            'js': '../../'
        },
        shim: {
            'jquery-ui': {
                deps: ['jquery']
            },
            'jasmine': {
                exports: 'jasmine'
            },
            'jasmine-html': {
                deps: ['jasmine'],
                exports: 'jasmine'
            },
            'blanket': {
                deps: ['jasmine']
            },
            'blanket-jasmine': {
                exports: 'blanket',
                deps: ['jasmine']
            }
        }
    });
    
    require(['jquery', 'jasmine-html', 'jquery-ui', 'bootstrap','blanket-jasmine'],
        function ($, jasmine, jquery_ui, bootstrap  , blanketjas  ) {
        'use strict';
    
        blanketjas.options('filter', "['../jquery.widget.richtext.js','test/spec/jquery.widget.richtext.spec.js']"); // data-cover-only
        blanketjas.options('branchTracking', true); // one of the data-cover-flags
        blanketjas.options('debug', true);
    
        var jasmineEnv = jasmine.getEnv();
        jasmineEnv.updateInterval = 1000;
    
        var htmlReporter = new jasmine.HtmlReporter();
    
        jasmineEnv.addReporter(htmlReporter);
    
        jasmineEnv.specFilter = function (spec) {
            return htmlReporter.specFilter(spec);
        };
    
        var specs = [];
        specs.push('spec/jquery.widget.richtext.spec');
    
        $(function () {
            require(specs, function () {
                jasmineEnv.addReporter(new jasmine.BlanketReporter());
                jasmineEnv.currentRunner().execute();
                // jasmineEnv.execute();
            });
        });
    
    });
    &#13;
    &#13;
    &#13;

    我从这个post

    配置SpecRunner.js有很多帮助

    虽然有一些变化,例如我在加载文档时执行跑步者。

    我没有看到任何错误,但也没有报道!我看到我的所有测试都通过了!根据{{​​3}},覆盖率报告应该在我的单元测试之下,例如Blanket's GitHub page

    这是我的控制台:

    BLANKET-测试活动开始了 BLANKET-测试活动开始了 BLANKET-测试活动开始了 BLANKET-测试活动完成
    BLANKET-Reporting没有文件被检测

    为什么毯子没有显示任何报道?

0 个答案:

没有答案