Я только начал использовать Трэвис CI проверить мой код PHP. Иногда, сбой сборки с сообщением
PHP Fatal error: Class 'PHPUnit_Framework_TestCase' not found in /home/travis/build/ms609/citation-bot/tests/phpunit/expandFnsTest.php on line 13
На другие случаи, без того, чтобы я изменил какой-либо соответствующий код, сборки успешны.
Это заставляет меня подозревать, что проблема скорее в Тревисе, чем в моей.
Это заставляет меня задуматься: могу ли я что-нибудь сделать, чтобы уменьшить вероятность моей ошибки? И на сборках, когда возникает ошибка, возможно ли, чтобы Трэвис повторил попытку сборки, не делая новый коммит?
Я унаследовал тестовый сценарий, написанный с использованием более старой версии phpunit. Для обратной совместимости, следуя совет в другом месте, Я добавил код
if (!class_exists('\PHPUnit\Framework\TestCase') &&
class_exists('\PHPUnit_Framework_TestCase')) {
class_alias('\PHPUnit_Framework_TestCase', 'PHPUnit\Framework\TestCase');
}
Что мне нужно было сделать дальше, это заменить
class myTest extends PHPUnit_Framework_TestCase {
с
class myTest extends PHPUnit\Framework\TestCase {
Что касается второй части вопроса, при входе в Travis CI обнаруживается опция «перезапустить сборку» на странице сборки.
Других решений пока нет …