gulp中的错误处理4

SET*_*SET 7 gulp gulp-watch

我正在尝试编写简单的监视任务,它将监视我的测试文件并在更改时编译它们并使用gulp-jasmine运行.

我的手表任务:

gulp.task('watch', function () {
    gulp.watch(['tests/**/[^_]*.ts'], gulp.series(['compile_tests', 'test']));
})
Run Code Online (Sandbox Code Playgroud)

和测试任务:

gulp.task('test', function(){
    return gulp.src('tests/**/[^_]*.spec.js')
        .pipe(
            jasmine().on('error', function(error){
                console.log(error);
                this.emit('end');
            })
        );
});
Run Code Online (Sandbox Code Playgroud)

但是,如果经过测试的代码包含错误,例如is not a function或者其他什么,请监视任务崩溃,我必须一次又一次地重新启动它.我的错误处理程序甚至没有被调用.那么如何以正确的方式处理错误呢?

Sre*_*A R 2

尝试这种方式来处理错误

 gulp.task('test', function(){
        var j = jasmine({});
        j.on('error',function(e){
            console.log(e);
            j.end();
      });
      return gulp.src('tests/**/[^_]*.spec.js')
          .pipe(j);
    });
Run Code Online (Sandbox Code Playgroud)