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')); } }
Von Marc & Willi – powered by Nostalgie, Nerd-Kultur und einer Prise ChatGPT Die W-JAX…
Anfang November konnte ich an der W-JAX 2024 in München teilnehmen, einer der führenden Entwicklerkonferenzen…
Der Hype der vergangenen Jahre rund um AI lässt spürbar nach, die immer noch verhältnismässig…
Skift kennen vermutlich viele Akteure im Tourismus als eines der führenden Newsportale und Marktforschungsunternehmen mit…
Neu in der imx.Platform: das Veranstaltungsmodul im Partner Client ist verfügbar. Eine Tour lässt sich…
Im Juli waren wir (Benni und Florian) auf dem WeAreDevelopers World Congress. 15.000 Verrückte, die…