Dieses Tutorial zeigt Unit -Tests mit Guzzle, einem PHP -HTTP -Client. Wir werden drei Ansätze untersuchen: handgefertigte benutzerdefinierte Antworten, verwenden ServiceClient
mit Mock-Antwortdateien und erläutern einen Server mit Scheinantworten.
Schlüsselkonzepte:
ServiceClient
vereinfacht die Antwortverspottung und reduziert das manuelle Setup. Setup:
composer.json
In diesem Tutorial vertraut mit Composer. Die
{ "require": { "php": ">=5.3.3" }, "require-dev": { "phpunit/phpunit": "4.0.*", "guzzle/guzzle": "~3.7" } }
composer install
Ausführen tests
, um Abhängigkeiten zu installieren. Erstellen Sie ein bootstrap.php
Verzeichnis mit phpunit.xml.dist
und
bootstrap.php
<?php error_reporting(E_ALL | E_STRICT); require dirname(__DIR__) . '/vendor/autoload.php';
phpunit.xml.dist
<?xml version="1.0" encoding="UTF-8"?> <phpunit bootstrap="./bootstrap.php" colors="true"> <testsuites> <testsuite name="Guzzle Tests"> <directory suffix="Test.php"></directory> </testsuite> </testsuites> </phpunit>
SitePointGuzzleTest.php
erstellen tests
im Verzeichnis
<?php use Guzzle\Tests\GuzzleTestCase; use Guzzle\Plugin\Mock\MockPlugin; use Guzzle\Http\Message\Response; use Guzzle\Http\Client as HttpClient; use Guzzle\Service\Client as ServiceClient; use Guzzle\Http\EntityBody; class SitePointGuzzleTest extends GuzzleTestCase { protected $_client; }
Testmethoden:
ServiceClient
Das Tutorial beschreibt dann drei Ansätze zur Verspottung von Antworten zum Testen mit Codebeispielen und Behauptungen. Diese Beispiele zeigen, wie verschiedene Aspekte der Antwort getestet werden, einschließlich Statuscodes, Header und Körpergehalt. Das Tutorial berührt auch die asynchronen Anfragetests und die Ausnahmebehandlung. Die vollständigen Codebeispiele für jede Methode (handgefertigte Antworten,
häufig gestellte Fragen (FAQs):
Der Artikel endet mit einem umfassenden FAQ
MockHandler
. Die bereitgestellten FAQs bieten prägnante Code -Beispiele, die Best Practices für jedes Szenario veranschaulichen. Dies macht den Artikel zu einer wertvollen Ressource für Entwickler, die ihre Fähigkeiten zur Prüfung der Guzzlephp -Unit -Tests verbessern möchten.
Das obige ist der detaillierte Inhalt vonEinheitstest mit Guzzle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!