Мы используем PHPUnit, и мы запускаем кучу интеграционных тестов, которые тестируют наши сторонние API, и мы хотим, чтобы они отображали предупреждение, когда они терпят неудачу в Codeship, но не блокируют сборку, потому что мы действительно не можем их контролировать. Это вообще возможно? Что мы делаем сейчас, так это помечаем все неудачные интеграционные тесты как неполный через
trait IntegrationTestTrait
{
protected function onNotSuccessfulTest(Exception $e)
{
$this->markTestIncomplete("This test failed for the following reason " . $e->getMessage());
}
}
Но это на самом деле не работает, потому что никто не заботится о незавершенное тесты. Кто-нибудь знает, есть ли что-нибудь сильнее, чем неполный но не провалится ли целая сборка, которую мы можем использовать?
Кто-нибудь знает, если есть что-то сильнее, чем неполное, но
не провалится ли целая сборка, которую мы можем использовать?
Вы можете отобразить предупреждение с красным фоном, чтобы привлечь ваше внимание, если вы смотрите тестирование PHPUnit, но хотите, чтобы оно продолжалось.
В модульном тесте:
echo "\e[41;97m" . "Warning Text" . "\e[0m\n";
Это escape-последовательности командной строки, которые включают цвета. 41; 97 — это красный фон, а 0m очищает его.
Других решений пока нет …