Мы используем PHPUnit, и мы запускаем кучу интеграционных тестов, которые тестируют наши сторонние API, и мы хотим, чтобы они отображали предупреждение, когда они терпят неудачу в Codeship, но не блокируйте сборку, потому что у нас нет никакого контроля над ними. Возможно ли это? То, что мы делаем, curently отметить все потерпело неудачу интеграционных тестов, как неполный черезCodeShip Как запускать тесты, которые показывают предупреждения вместо сбоев сборки
trait IntegrationTestTrait
{
protected function onNotSuccessfulTest(Exception $e)
{
$this->markTestIncomplete("This test failed for the following reason " . $e->getMessage());
}
}
Но это на самом деле не работает, потому что на самом деле никто не заботится о незавершенных тестов. Кто-нибудь знает, есть ли что-либо более сильное, чем неполное, но не может ли вы не построить всю сборку, которую мы можем использовать?
Кодировка будет отмечать шаг как сбой, если код выхода команды, которую вы запускаете, не равен нулю. Итак, до тех пор, пока программа выйдет с нулевым кодом выхода, вы можете получить любой желаемый результат. Я бы не рекомендовал это для запуска ваших тестов, но вы также можете сделать успешный шаг, используя 'test_command || true'. Вы можете использовать это на отдельном этапе, который, например, проверяет только внешние API. – mlocher