getMock() не определено в тестах PHPUnit с HHVM

Мы обновили PHPUnit до последней версии вчера и переименовали все вызовы в createMock() от getMock(),

Наши модульные тесты проходят с PHP 5.6 и PHP 7.0, но не с HHVM, мы получаем следующую ошибку:

Fatal error: Call to undefined method Gomoob\Pushwoosh\Client\CURLClientTest::createMock() in /home/travis/build/gomoob/php-pushwoosh/src/test/php/Gomoob/Pushwoosh/Client/CURLClientTest.php on line 33

Вы можете увидеть полную сборку на Трэвисе.

Это очень странно, потому что это простой вызов защищенного метода, объявленного внутри родительского класса (см. createMock() метод здесь).

У вас есть идеи, почему это не удается? Может ли это быть ошибкой в ​​HHVM?

1 ответ

Решение

createMock() метод был введен в PHPUnit 5.4.0. Вы используете более старую версию на travis - 5.1.3. См. https://travis-ci.org/gomoob/php-pushwoosh/jobs/142799864

Ваши сборки для других версий PHP используют PHPUnit 5.4.6.

Это, вероятно, то, что вы должны сообщить Трэвису. Другой вариант - установить phpunit через composer как зависимость от dev.

Другие вопросы по тегам