空代码接收报告,导致 Jenkins 构建失败

Empty codeception report, causes Jenkins build failure

在我们的 Yii 项目中,我们使用 Jenkins CI 和 Codeception 进行不同类型的测试。问题是,codeception 报告是空的,这会导致整个 Jenkins 构建失败。

所有测试 运行 没有错误。 Jenkins 执行 shell 进行代码接收:

php codecept.phar run --xml --html

导致失败的控制台输出错误行:

[xUnit] [ERROR] - The result file '/var/lib/jenkins/jobs/project/workspace/code/protected/tests/_output/report.xml' for the metric 'PHPUnit' is empty. The result file has been skipped.

我理解简单的逻辑,如果报告为空 -> 构建失败。但是为什么报告是空的?这是一个错误还是我可以做些什么?

问题是,在我们的一个拆解中有以下行:

Yii::app()->end();

这让 Yii-Application 死掉了。由于某些原因,这导致 codeception 没有生成报告。