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')); } }
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…
Es stehen neue Funktionen, Erweiterungen und Optimierungen unserer Module und Features in der imx.Platform für…
Unser diesjähriger Jahresauftakt fand unter dem Motto „Where the magic happens“ im malerischen Kloster Seeon…