【问题标题】:Blanket.js coverage of dynamically loaded script fileBlanket.js 覆盖动态加载的脚本文件
【发布时间】:2014-11-06 02:05:18
【问题描述】:

我正在使用 Blanket.js 来测试代码覆盖率(使用 Jasmine,尽管我认为这并不重要)。我有一些仅根据需要加载的脚本。这些是使用 jQuery 的 $.getScript() 函数加载的。如何让 Blanket.js 报告动态加载脚本的覆盖率?

我尝试通过在头部末尾添加一个带有 src 的脚本标签来加载脚本(例如,$('<script/>', {src: (javascript path), 'data-cover': 'data-cover'}).appendTo('head');)。

我没有看到任何明显的功能可以在毯子.js 源代码中添加脚本。

【问题讨论】:

    标签: javascript blanket.js


    【解决方案1】:

    为了回答我自己的问题,这里有一个功能可以满足我的要求:

    function addCoveredScript(url) {
        $('<script/>', {src: url}).appendTo('head');
        blanket.utils.cache[url] = {};
        blanket.utils.attachScript({url:url}, function (content) {
            blanket.instrument({inputFile: content, inputFileName: url},
                               function (instrumented) {
                blanket.utils.cache[url].loaded = true;
                blanket.utils.blanketEval(instrumented);
                blanket.requiringFile(url, true);
            });
       });
    }
    

    我不知道是否有更简单的方法可以做到这一点,但它确实有效。

    【讨论】:

      猜你喜欢
      • 2018-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-31
      • 2014-03-10
      • 2021-07-04
      • 1970-01-01
      • 2019-03-10
      相关资源
      最近更新 更多