Unit testing 单元测试中断时如何退出gulp?
我使用gulp和mocha运行单元测试,这是gulp工作流的一部分,用于运行我的reactjs应用程序。单元测试工作:Unit testing 单元测试中断时如何退出gulp?,unit-testing,gulp,gulp-mocha,Unit Testing,Gulp,Gulp Mocha,我使用gulp和mocha运行单元测试,这是gulp工作流的一部分,用于运行我的reactjs应用程序。单元测试工作: gulp.task('mocha', function () { return gulp .src(['test/*.js']) .pipe(mocha({ compilers: { js: babel } }) }) 但是,如果单元测试失
gulp.task('mocha', function () {
return gulp
.src(['test/*.js'])
.pipe(mocha({
compilers: {
js: babel
}
})
})
但是,如果单元测试失败,我希望退出整个gulp工作流。我如何才能做到这一点?您可以尝试终止进程,并在需要时重新启动它?我不完全理解你的问题,如果是,请回答。
在运行gulpscript的cmd中,可以按CTRL+C,然后按Y确认。这将停止当前脚本。Mocha运行测试。Gulp只需将文件、文件夹位置和管道分组,并使用此分组信息调用mocha。如果我没看错你的问题的话,你想要的是一种机制,让摩卡能够将测试结果反馈给我,而不是它的标准。当mocha退出时,gulp自动退出,但如果没有退出,则您有一个监视任务,或者gulp文件中有一个allback尚未解决,或者此问题-[ 你可以用
.on('error', process.exit.bind(process, 1))
检查进程是否退出
或者,如果是回调问题,则使用done()解决调用
@比尔希尔这有帮助吗?
gulp.task('taskname', function (done) {
gulp.src('test/testfile.js')
.pipe(gulpmocha(),setTimeout(function() {
done(null);
}, 5000))
.on('error', process.exit.bind(process, 1))
});