JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了代码覆盖 – 让Karma,6to5ify和伊斯坦布尔打球大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有Browserify,6to5ify和Karma玩得很好,成功运行我的规格.然而,当我添加代码覆盖时,情况就会发生变化.我尝试了几种方法:

>将browserify-istanbul变换添加到我的karma.conf.js.但是,这导致它尝试在我的spec文件上运行检测,它也会出现.
>在源文件上运行coverage预处理器.但是因为istanbul(甚至是douglasduteil / karma-coverage#next)没有读取我的6to5ify browserify转换,所以它会立即崩溃它试图解析的第一个文件(因为import语句),或者当我使用karma-coverage #next时,它不尊重我的package.json中的浏览器映射(移动项目,将Backbone映射到Exoskeleton).

现在我的karma.conf.js看起来像这样:

module.exports = function(karma){
  karma.set({
    frameworks: ["browserify","mocha","chai-sinon"],browserify: {
      debug: true,extensions: [".js",".hbs"],transform: ["6to5ify","hbsfy"]
    },reporters: ["dots","osx","junit","coverage"],coverageReporter: {
      type: "text"
    },junitReporter: {
      outputFile: "spec/reports/test-results.xml"
    },preprocessors: {
      "src/javascript/**/*": ["coverage"],"spec/**/*": ["browserify"]
    },browsers: ["PhantomJS"],files: ["spec/unit/**/*Spec.js"],logLevel: "LOG_DEBUG",autoWatch: true
  });
};

我有点失去了如何让这一切都在一起工作.我试过跟随these instructions,但这不起作用,因为它没有跟随我在package.json中的浏览器节点.任何帮助将不胜感激.

解决方法

所以,显然我需要browserify-istanbul,我需要browserify配置挂钩,如下所示:
var to5ify = require('6to5ify');
var hbsfy = require('hbsfy');
var cover = require('browserify-istanbul');

var coverOptions = {
  ignore: ['**/*Spec.js','**/lib/*.js','**/fixtures/*.hbs'],defaultIgnore: true
}

module.exports = function(karma){
  karma.set({
    frameworks: ["browserify",browserify: {
      debug: false,configure: function(bundle){
        bundle.on('prebundle',function(){
          bundle
            .transform(to5ify)
            .transform(hbsfy)
            .transform(cover(coverOptions));
        });
      }
    },preprocessors: {
      "spec/**/*": ["browserify"]
    },autoWatch: true
  });
};

大佬总结

以上是大佬教程为你收集整理的代码覆盖 – 让Karma,6to5ify和伊斯坦布尔打球全部内容,希望文章能够帮你解决代码覆盖 – 让Karma,6to5ify和伊斯坦布尔打球所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: