Laravel menyediakan sintaks mock respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif.
Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas:
Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' => 204, ]);
Sintaks ini berfungsi dengan baik dalam senario ujian yang komprehensif:
Kelas ApiIntegrationTest Extends TestCase { Fungsi Awam Test_Service_Communication () { Http :: palsu ([ // respons string 'api.notifications.com/*' => 'Mesej dihantar', // Respons Array (ditukar kepada JSON) 'api.products.com/*' => [ 'Produk' => [ ['id' => 1, 'name' => 'komputer riba'], ['id' => 2, 'name' => 'mobile'] ] ], // Respons Kod Status 'Api.Status.com/check' => 200, 'api.deprecated.com/*' => 410, // Jenis tindak balas yang berbeza dari endpoints berkaitan 'api.orders.com/active' => ['status' => 'pemprosesan'], 'api.orders.com/error' => 400, 'Api.orders.com/message' => 'Sistem tidak tersedia' ]); // ujian dengan pernyataan $ respons = http :: get ('api.notifications.com/send'); $ this-> assertEquals ('mesej dihantar', $ response-> body ()); $ produk = http :: get ('api.products.com/list'); $ this-> assertCount (2, $ produk ['produk']); $ status = http :: get ('api.status.com/check'); $ this-> assertTrue ($ status-> berjaya ()); } }
Sintaks ringkas ini meningkatkan daya tahan ujian dengan mengurangkan beban kognitif apabila membaca ujian, yang membolehkan anda memberi tumpuan kepada logik perniagaan dan bukannya butiran HTTP.
Atas ialah kandungan terperinci Respons HTTP yang dipermudahkan dalam ujian Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!