BDD (Behavior Driven Development) ialah kaedah pembangunan perisian tangkas yang boleh digunakan untuk menulis ujian unit PHP dengan kelebihan berikut: Kebolehbacaan tinggi: sintaks seperti bahasa semula jadi, mudah dibaca dan difahami. Sangat kolaboratif: Galakkan pasukan untuk bekerjasama untuk menentukan keperluan dan kes ujian. Peningkatan automasi: Spesifikasi BDD boleh ditukar dengan mudah kepada ujian automatik. Mesra Integrasi Berterusan: Diintegrasikan dengan lancar ke dalam saluran paip penyepaduan berterusan.
Pembangunan Didorong Tingkah Laku (BDD) ialah metodologi pembangunan perisian tangkas yang menggunakan spesifikasi ujian seperti bahasa semula jadi untuk menyatakan tingkah laku yang diharapkan. Dalam PHP, anda boleh menggunakan perpustakaan PHPUnit untuk melakukan ujian gaya BDD.
Untuk menggunakan PHPUnit untuk ujian BDD, anda perlu memasang pakej phpunit/phpunit
: phpunit/phpunit
包:
composer require --dev phpunit/phpunit
然后,您可以使用 Given-When-Then
use PHPUnit\Framework\TestCase; class UserTest extends TestCase { public function testCanAccessAdminPageWithAdminRole() { // Given $user = new User(); $user->setRole('admin'); // When $canAccess = $user->canAccessAdminPage(); // Then $this->assertTrue($canAccess); } }
Given-When-Then< /code> sintaks Untuk menulis kes ujian BDD: Diberikan:
(keadaan awal)Bila:
(laksanakan tindakan)Kemudian:
(hasil yang dijangkakan)Sebagai contoh, apabila kes ujian berikut mengesahkan bahawa pengguna mempunyai peranan pentadbir , mereka boleh mengakses halaman pentadbir: use PHPUnit\Framework\TestCase;
class CartTest extends TestCase
{
public function testCanAddProductToCart()
{
// Given
$cart = new Cart();
$product = new Product();
// When
$cart->addProduct($product);
// Then
$this->assertContains($product, $cart->getProducts());
}
}
Salin selepas log masuk Contoh praktikal
Mari kita pertimbangkan aplikasi troli beli-belah yang mudah. Kami perlu menguji ciri yang membolehkan pengguna menambah produk pada troli beli-belah mereka. Diberikan:
Pengguna mempunyai troli beli-belah kosong. Bila:
Pengguna menambah produk pada troli beli-belah. Kemudian:
Produk hendaklah ada dalam troli beli-belah anda. Kes ujian BDD yang sepadan ialah: rrreee
KelebihanUjian unit BDD mempunyai kelebihan berikut:
-
Kebolehbacaan tinggi:
Sintaks seperti bahasa semula jadi menjadikan kes ujian lebih mudah dibaca dan difahami. -
Kolaboratif:
BDD menggalakkan ahli pasukan untuk bekerjasama dalam keperluan dan kes ujian. -
Peningkatan automasi:
Spesifikasi BDD boleh ditukar dengan lebih mudah kepada ujian automatik. -
Mesra Integrasi Berterusan:
Ujian BDD boleh disepadukan dengan lancar ke dalam saluran paip penyepaduan berterusan.
🎜Atas ialah kandungan terperinci Ujian Unit PHP: Kelebihan BDD (Pembangunan Didorong Tingkah Laku). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!