【问题标题】:Using gulp.watch with browserified karma/jasmine unit tests fails on error使用带有浏览器化业力/茉莉花单元测试的 gulp.watch 因错误而失败
【发布时间】:2014-09-19 21:05:57
【问题描述】:

我遇到了this error with gulp.watch。本质上,当一个测试单元因错误而失败时,watch 命令就会挂起——即只运行一次,然后 watch 不会再次触发事件。

规定的解决方法是使用gulp-plumber 来防止出现错误退出。但是,这仅适用于流。如果我与 browserify 一起运行业力测试,我的配置看起来与此类似(我无法确定如何将流连接到这个坏男孩以启用管道工):

gulp.task('watch', function() {
  gulp.watch('src/**/*.js', ['test']);
  gulp.watch('test/**/*.spec.js', ['test']);
});

gulp.task('test', function () {
  return karma.server.start({
    files: [
      'test/**/*.spec.js'
    ],
    frameworks: ['browserify', 'jasmine'],
    preprocessors: {
      'test/**/*.spec.js': ['coverage', 'browserify']
    },
    browsers: ['PhantomJS'],
    reporters: ['coverage', 'spec', 'failed'],
    browserify: {
      debug: true,
      transform: ['browserify-istanbul']
    },
    singleRun: true
  });
});

有没有人有一个解决方法来运行带有 watch 的测试单元或关于我如何让它与 gulp-plumber 一起工作的建议?

【问题讨论】:

    标签: unit-testing karma-runner gulp browserify gulp-watch


    【解决方案1】:

    这里的解决方案是从图片中删除 gulp.watch。由于 browserify 被用作预处理器,Karma 的内部监视可以神奇地工作,不需要 watchify 或 gulp.watch。

    gulp.task('watch', function() {
      return karma.server.start({
        configFile: __dirname + '/karma.conf.js'
      });
    });
    
    gulp.task('test', function () {
      return karma.server.start({
        configFile: __dirname+'/karma.conf.js',
        singleRun: true
      });
    });
    

    还有我调整后的配置文件:

    module.exports = function(config) {
      config.set({
        files: [
          'test/**/*.spec.js'
        ],
        frameworks: ['browserify', 'jasmine'],
        preprocessors: {
          'test/**/*.spec.js': ['coverage', 'browserify']
        },
        browsers: ['PhantomJS'],
        reporters: ['coverage', 'spec', 'failed'],
        browserify: {
          debug: true,
          transform: ['browserify-istanbul']
        }
      });
    };
    

    【讨论】:

      猜你喜欢
      • 2016-06-15
      • 2023-04-06
      • 2014-03-12
      • 1970-01-01
      • 2013-10-17
      • 2017-01-15
      • 1970-01-01
      • 2016-04-24
      • 2014-12-12
      相关资源
      最近更新 更多