我在 protractor.conf 文件中有以下记者:
var promise1 = new Promise(function (resolve) {
reporter1.afterLaunch(resolve.bind(this, exitCode));
});
var promise2 = new Promise(function (resolve) {
reporter2.afterLaunch(resolve.bind(this, exitCode));
});
return Promise.all([promise1, promise2]);
上述每个报告器都有自己的 afterlaunch,一旦 ptor.conf 文件中的 afterlaunch 被执行,它们就会被执行。
这是 Jenkins 中持续集成工作的一部分。所以发生的事情是,promise 解决了,因此进程的退出代码变为 0,即使测试失败,因此覆盖了作业的退出代码。因此,即使它是一个合法的失败,詹金斯也会将整个工作显示为通过。我需要保留exitCode
传递给上述报告的原始值,以便詹金斯作业按预期运行。我们怎样才能防止这种情况发生?