Gestern bin ich auf eine interessante Erweiterung für PHPUnit gestoßen, die es erlaubt auch reine Funktionen als Mock-Objekte anzulegen und deren Verhalten damit zu testen: PHP-Mock bzw. dessen Erweiterung für die Nutzung in PHPUnit.
Damit kann man dann sehr bequem auch interne Funktionen testen, z.B. file_get_contents() oder auch ein mail().
Ein so gearteter Test könnte dann z.B. so aussehen:
<?php namespace deimxnetprojecttestunitTests; use phpmockphpunitPHPMock; class BuiltinTest extends PHPUnit_Framework_TestCase { use PHPMock; public function testFileGetContents() { $mock = $this->getFunctionMock(__NAMESPACE__, 'file_get_contents'); $mock->expects(self::once())->willReturn('contents-of-file'); self::assertEquals('contents-of-file', file_get_contents()); } public function testMail() { $mock = $this->getFunctionMock(__NAMESPACE__, 'mail'); $mock->expects(self::once())->with(self::equalTo('example@example.com'), self::isType('Subject'), self::equalTo('Mail body')); self::assertTrue(mail('example@example.com', 'Subject', 'Mail body')); } }
Phil Jope und David Kelemen, haben 2022 ihre Ausbildung zum Fachinformatiker für Anwendungsentwicklung begonnen und…
Wie bringt man POIs auf mobilen Geräten intuitiv und platzsparend zur Anzeige? Diese Frage stand…
Ende Juni war es endlich soweit: Das gesamte #Teaminfomax kam wieder zusammen - mit Kolleg*innen…
Mit dem aktuellen Release der imx.Platform News erwarten Sie zahlreiche neue Features und Verbesserungen, die…
Anfang Juni fand wieder das Destination Camp der netzvitamine statt. Dieses Jahr ging es nach…
In der ersten Aprilhälfte fand erneut unser alljährliches Anwenderforum aka imx.Platform Lab statt. An zwei…