我正在使用gulp和mocha来运行单元测试,这是运行我的reactjs应用程序的gulp工作流程的一部分。单元测试工作:
gulp.task('mocha', function () {
return gulp
.src(['test/*.js'])
.pipe(mocha({
compilers: {
js: babel
}
})
})
但是,如果单元测试被破坏,我想退出整个gulp工作流程。我怎么能这样做?
答案 0 :(得分:0)
你可以尝试杀死进程并在需要时重新启动它吗?或许我不完全理解你的问题,如果是这样,请详细说明。 在运行gulpscript的cmd中,您可以按CTRL + C,然后按Y确认。这会停止当前脚本。
答案 1 :(得分:0)
Mocha运行测试。 Gulp只使用此分组信息对文件,文件夹位置和管道调用mocha进行分组。你要求的是一个机制,如果我正确地读出你的问题,摩卡可以回传测试结果而不是stdout。当mocha退出时gulp会自动退出,但如果没有,那么你有一个监视任务,或者你的gulp文件中有一个尚未解决的allback或者这个问题 - [https://github.com/sindresorhus/gulp-mocha/issues/1][1]
您可以使用
.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))
});