dengan fail respons yang mengejek, dan memupuk pelayan dengan respons mengejek. ServiceClient
Konsep Utama:
- Ujian unit yang cekap dengan GuzzlePhp melibatkan menubuhkan persekitaran ujian menggunakan komposer, mengkonfigurasi phpunit, dan membuat kelas ujian.
- Respons tersuai buatan tangan mensimulasikan pelbagai senario API, menguatkan ujian unit.
- Memudahkan respon mengejek, mengurangkan persediaan manual.
ServiceClient
enqueueing pelayan dengan respons mengejek mensimulasikan interaksi pelayan sebenar untuk ujian yang lebih bersepadu. - Ujian menyeluruh meliputi tajuk, kandungan badan, dan panggilan tak segerak untuk pelanggan perkhidmatan web yang boleh dipercayai.
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" } }RUN
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>dalam direktori
: 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; }Kaedah ujian:
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. - Pengendalian Pengendalian.
- Menguji permintaan asynchronous.
- Menguji badan dan tajuk tindak balas.
- Menguji permintaan pos, muat naik fail, pengalihan, dan kuki.
- FAQ yang disediakan menawarkan contoh kod ringkas yang menggambarkan amalan terbaik untuk setiap senario. Ini menjadikan artikel itu sebagai sumber yang berharga bagi pemaju yang ingin meningkatkan kemahiran ujian unit GuzzlePhp mereka.
Atas ialah kandungan terperinci Ujian Unit dengan Guzzle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Phpsessionscanstorestrings, nombor, tatasusunan, andobjects.1.strings: textdatalikeusernames.2.numbers: integersorfloatsforcounters.3.Arrays: ListsLikeshoppingCarts.4.Objects: complextructureSturesthatareserialized.

Tostartaphpsession, usesession_start () atthescript'sbeginning.1) placeitbeforeanyoutputtosetthesessioncookie.2) usesessionsforusererdatalikeloginstatusorshoppingcarts.3)

Penjanaan semula sesi merujuk kepada menjana ID sesi baru dan membatalkan ID lama apabila pengguna melakukan operasi sensitif dalam kes serangan tetap sesi. Langkah-langkah pelaksanaan termasuk: 1. Mengesan Operasi Sensitif, 2. Menjana ID Sesi Baru, 3. Memusnahkan ID Sesi Lama, 4. Kemas kini maklumat sesi pengguna.

Sesi PHP mempunyai kesan yang signifikan terhadap prestasi aplikasi. Kaedah pengoptimuman termasuk: 1. Gunakan pangkalan data untuk menyimpan data sesi untuk meningkatkan kelajuan tindak balas; 2. Mengurangkan penggunaan data sesi dan hanya menyimpan maklumat yang diperlukan; 3. Gunakan pemproses sesi yang tidak menyekat untuk meningkatkan keupayaan konkurensi; 4. Laraskan masa tamat tempoh sesi untuk mengimbangi pengalaman pengguna dan beban pelayan; 5. Gunakan sesi berterusan untuk mengurangkan bilangan data membaca dan menulis masa.

Phpsessionsareserver-side, whilecookiesareclient-side.1) Sessionsstoredataontheserver, aremoresecure, andhandlelargerdata.2) cookiesstoredataontheclient, arelesssecure, andlimiteShorsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsionsforsions

Phpidentifierauser'sSessionusingSessionCookiesandSessionIds.1) whensession_start () ISCALLED, phpGeneratesAuniquesessionIdstoredinacookienamedPhpsessidontheUserer'sBrowser.2) ThisIdallowsPhptoretRievesSessionDataFromtheserver.

Keselamatan sesi PHP boleh dicapai melalui langkah -langkah berikut: 1. Gunakan session_regenerate_id () untuk menjana semula ID sesi apabila pengguna log masuk atau merupakan operasi penting. 2. Sulitkan ID sesi penghantaran melalui protokol HTTPS. 3. Gunakan session_save_path () untuk menentukan direktori selamat untuk menyimpan data sesi dan menetapkan kebenaran dengan betul.

PhpsessionFileSarestoredIntHedirectorySpecifiedBySession.save_path, biasanya/tmponunix-likesystemsorc: \ windows \ temponwindows.tocustomethis: 1) usession_save_path ()


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!
