【发布时间】:2017-01-23 20:27:51
【问题描述】:
我们正在使用 PHPUnit,并且正在运行一系列集成测试来测试我们的 3rd 方 API,我们希望它们在 Codeship 中失败时显示警告,但不要阻止构建,因为我们真的无法控制他们。这甚至可能吗?我们目前正在做的是将所有失败的集成测试标记为不完整到
trait IntegrationTestTrait
{
protected function onNotSuccessfulTest(Exception $e)
{
$this->markTestIncomplete("This test failed for the following reason " . $e->getMessage());
}
}
但这并没有真正起作用,因为没有人真正关心未完成测试。有谁知道是否有任何东西比 incomplete 更强大但不会使我们可以使用的整个构建失败?
【问题讨论】:
-
如果您运行的命令的退出代码不为零,Codeship 会将步骤标记为失败。因此,只要程序以零退出代码退出,您就可以获得任何您想要的输出。我不建议将其用于运行测试,但您也可以使用
test_command || true强制执行成功步骤。例如,您可以在仅测试外部 API 的单独步骤中使用它。
标签: php continuous-integration phpunit integration-testing codeship