dengan fail respons yang mengejek, dan memupuk pelayan dengan respons mengejek. ServiceClient
Konsep Utama:
ServiceClient
Persediaan:
Tutorial ini menganggap kebiasaan dengan komposer. Fail hendaklah termasuk: composer.json
{ "require": { "php": ">=5.3.3" }, "require-dev": { "phpunit/phpunit": "4.0.*", "guzzle/guzzle": "~3.7" } }
dengan composer install
dan tests
: bootstrap.php
phpunit.xml.dist
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
tests
<?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; }
Tutorial kemudian memperincikan tiga pendekatan untuk mengejek respons untuk ujian, masing -masing dengan contoh kod dan pernyataan. Contoh -contoh ini menunjukkan cara menguji pelbagai aspek tindak balas, termasuk kod status, tajuk, dan kandungan badan. Tutorial ini juga menyentuh ujian permintaan dan pengecualian permintaan tak segerak. Contoh kod penuh untuk setiap kaedah (respons yang dibuat tangan,
dengan fail mock, dan enqueueing pelayan) disediakan dalam kod sumber artikel asal pada GitHub (pautan yang disediakan dalam artikel asal).
ServiceClient
Artikel ini disimpulkan dengan bahagian FAQ yang komprehensif yang meliputi soalan umum yang berkaitan dengan ujian unit dengan GuzzlePhp, termasuk:
Respons Mocking Menggunakan
MockHandler
Mengintegrasikan BuzzlePhp dengan phpunit. Atas ialah kandungan terperinci Ujian Unit dengan Guzzle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!