我的持续集成使用 Codeship 工作得非常好,除了一件事:停止部署并在单元测试失败时提醒我们。
这是我们当前的命令:
- npm 安装
- npm 安装凉亭
- 凉亭安装
- 吞咽测试
- 吞咽构建
问题在于构建是否gulp test
以成功或失败告终。gulp build
我成功了console.log()
退出gulp test
状态,但我不知道如何让 Codeship 监听这个退出状态。
我的持续集成使用 Codeship 工作得非常好,除了一件事:停止部署并在单元测试失败时提醒我们。
这是我们当前的命令:
问题在于构建是否gulp test
以成功或失败告终。gulp build
我成功了console.log()
退出gulp test
状态,但我不知道如何让 Codeship 监听这个退出状态。
只要任何命令以非零的退出代码退出,Codeship 上的构建就会失败。
请确保这是 running 的情况gulp test
。
(如果有任何其他问题,您也可以通过 support@codeship.com 与我们联系!)
使用@mlocker 答案和Github 上的讨论,我找到了一个对我来说很好的解决方法:
gulp.task('test', function (done) {
karma.start({}, function(exitStatus){
done(exitStatus ? "There are failing unit tests" : undefined);
});
});
这里的技巧是,如果 exitStatus 不为 0,您将在“有失败的单元测试”上得到一个 formatError,它将退出gulp test
并1
让 Codeship 停止并将构建视为failed
.
也许您可以尝试链接测试和构建任务?
gulp test && gulp build