不支持Gulp流使用gulp-istanbul时出错

时间:2015-08-05 17:57:17

标签: node.js gulp istanbul

我在使用流时收到错误。

我正在努力将istanbul添加到我现有的mocha任务中。当我运行此任务时,我收到以下错误。

我正在使用gulp-istanbul

(注意:config.test.src.bdd.features设置为值'test/bdd/features/**/*-spec.js'

var stream = gulp.src([config.test.src.bdd.features], { read: false });

gulp.task('mocha-bdd-features', function(cb) {
    process.env.PORT = 8001;
    return stream
        .pipe(istanbul())
        .pipe(istanbul.hookRequire())
        .pipe(mocha({
            compilers: {
                js: babel
            },
            reporter: config.test.mocha.reporter,
            ui: 'bdd'
        }))
        .on('finish', function () {
            stream.pipe(istanbul.writeReports())
            stream.pipe(istanbul.enforceThresholds({thresholds: {global: 90}}))
            stream.on('end', cb);
        });
});

我得到的错误是:

events.js:85
      throw er; // Unhandled 'error' event
            ^
Error: streams not supported

谁知道我在尝试合并gulp-istanbul时可能没有正确设置此任务,但是至少要先尝试通过此错误。

1 个答案:

答案 0 :(得分:0)

我面临同样的问题。 我相信问题是符合的:

var stream = gulp.src([config.test.src.bdd.features], { read: false });

读取选项设置为 false 会导致file.contents为null,因此istanbul无法覆盖这些文件。 (查看here

所以尝试相同的事情,但没有读取选项。

var stream = gulp.src([config.test.src.bdd.features]);

希望这有帮助。