Kategorie: PHPUnit
-
PhpUnit 10 Call to undefined method PHPUnit\Framework\MockObject\MockBuilder::setMethods()
In PHPUnit 10 wurde setMethods entfernt, als Teil eines Bestrebens, die Verwendung von Mocks zu vereinfachen und zu modernisieren. Die Empfehlung ist nun, stattdessen die Methoden onlyMethods oder addMethods zu verwenden, je nachdem, was in Ihrem spezifischen Fall benötigt wird. Verwenden von onlyMethods: Wenn Sie onlyMethods verwenden, mocken Sie nur die Methoden, die Sie benötigen,…
-
Call to undefined method PHPUnit\Util\ErrorHandler::handleError()
In Version 8.3 von PHPUnit gibt es leider die Methode handleError nicht mehr, deswegen kommt es bei meine Symfony Projekten zu Problemen. Call to undefined method PHPUnit\Util\ErrorHandler::handleError() Abhilfe schafft die Installation von PHPUnit 8.2: composer require phpunit/phpunit:8.2 –dev
-
PHPUnit returnCallback Beispiel
Mit dem PHPUnit returnCallback() Methode kann man dynamisch den Rückgabewert eines Mocks definieren. Beispiel: public function testCallback() { $globalObject = []; $this->mock ->expects($this->any()) ->method(‚method‘) ->will( $this->returnCallback( function($param) use ($globalObject) { return globalObject; } ) ); }
-
Travis CI: No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)
Bei der sehr kryptischen Fehlermeldung in Travis CI: No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb) handlet es sich um ein Problem mit falschen Einrückungen im travis.yml File: matrix: include: – php: 5.6 env: – SYMFONY_VERSION=’3.4.*‘ Ein Leerzeichen zu wenig in der Zeile – SYMFONY_VERSION=’3.4.*‘ und es kommt zu diesem wenig aufschlussreichen Fehler.
-
PHP Unit Testing Präsentation
Diese Präsentation habe ich im Rahmen meiner Arbeit bei Air Berlin zum Thema Unit und Integration Testing gehalten. Da es Air Berlin nun nicht mehr gibt, stelle ich gern diese Informationen allen zur Verfügung. Download Testing Powerpoint Präsentation
-
Run PHPUnit Unit and Integrations test with different configurations in PHPStorm
If you want to develop unit and integration tests with PHPStorm you can easily bootstrap your application and run your tests. But if you want to develop real unit tests in your local development enviroment without having a database connection or a cache, you need to make sure, that your application is configured differently, when…
-
PDOException: You cannot serialize or unserialize PDO instances
Beim Mocken von Objekten mit PHPunit kann es zur Fehlermeldung: PDOException: You cannot serialize or unserialize PDO instances kommen, immer dann, wenn im Constructor eine PDO Instanz injeziert wird. Dies kann unterbunden werden durch: class PDOMock extends PDO{ public function __construct(){} }
-
PHPUnit @Depends Variablen im @Dataprovider verwenden
Leider ist es zur Zeit nicht möglich für einen PHPUnit Test sowohl einen anderen Test als Vorraussetzung für einen Test zu markieren, damit die Ausführung des Tests im Fehlerfall nicht stattfindet, und gleichzeitig einen Dataprovider für den Test zu verwenden der auf das Ergebnis einen vorherigen Tests zugreift. Das liegt daran, dass Dataprovider vor dem…