我正在使用Blanket.js测试代码覆盖率(使用Jasmine,尽管我认为这并不重要)。我有一些脚本,它们只在需要时加载。它们是使用jQuery的$.getScript()函数加载的。如何让Blanket.js报告动态加载脚本的覆盖率?
我尝试通过在头的末尾添加一个带有src的脚本标记(例如,$('<script/>', {src: (javascript path), 'data-cover': 'data-cover'}).appendTo('head');)来加载脚本。
我没有看到在blanket.js源代码中添加脚本的任何明显函数。
发布于 2014-11-05 18:05:18
为了回答我自己的问题,这里有一个函数可以做我想做的事情:
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);
});
});
}我不知道是否有更简单的方法来做到这一点,但它有效。
https://stackoverflow.com/questions/26759888
复制相似问题