2016-07-06 24 views
1

Wir haben PHPUnit auf die neueste Version yersterday aktualisiert und alle Aufrufe an createMock() von getMock() umbenannt.getMock() undefiniert in PHPUnit-Tests mit HHVM

Unsere Einheit Tests bestanden mit PHP 5.6 und PHP 7.0 aber nicht mit HHVM, erhalten wir die folgenden Fehler:

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 

Sie können die kompletten Build auf Travis sehen.

Es ist sehr seltsam, weil dies eine einfache call zu einer geschützten Methode innerhalb einer Elternklasse deklariert ist (siehe createMock() Methode here).

Haben Sie eine Idee, warum das scheitert? Könnte es ein Fehler in HHVM sein?

+0

meine Testklasse in der Regel 'erstreckt \ PHPUnit_Framework_TestCase' können Sie machen einen Versuch? – Matteo

+0

Ja sicher, kein Glück das gleiche Problem mit dieser Klasse. Der neue Testfall ist hier https://github.com/gomoob/php-pushwoosh/blob/develop/src/test/php/Gomoob/Pushwoosh/Client/CURLClientTest.php#L19 und gescheitert Travis Job hier https: // travis-ci.org/gomoob/php-pushwoosh/jobs/142799864 –

Antwort

1

Die createMock() Methode war introduced in PHPUnit 5.4.0. Sie verwenden eine ältere Version auf Travis - 5.1.3. Siehe https://travis-ci.org/gomoob/php-pushwoosh/jobs/142799864#L910

Ihre Builds für andere PHP-Versionen use PHPUnit 5.4.6.

Es ist wahrscheinlich etwas, was Sie Travis melden sollten. Ihre andere Option ist, phpunit über Composer als Dev-Abhängigkeit zu installieren.

enter image description here

+1

Hallo Jakub Zalas, das war die Lösung, vielen Dank für Ihre Hilfe! https://travi-ci.org/gomoob/php-pushwoosh/builds/142956447 –