PHP ialah bahasa pengaturcaraan sumber terbuka yang digunakan secara meluas. Ia adalah salah satu teknologi utama untuk banyak laman web dan aplikasi. Rangka kerja PHP menyediakan beberapa rangka kerja ujian unit terbina dalam, yang mana PHPUnit adalah yang paling biasa digunakan. PHPUnit ialah rangka kerja ujian PHP untuk menulis dan menjalankan kes ujian automatik.
Dalam artikel ini, kami akan mendalami cara menggunakan PHPUnit untuk ujian dipacu tingkah laku.
Ujian Didorong Tingkah Laku (BDD) merujuk kepada menguji kelakuan sistem aplikasi, bukannya sekadar menguji sama ada sistem aplikasi menghasilkan hasil yang diharapkan. BDD memainkan peranan penting dalam menulis kod yang boleh dipercayai dan mesra pengguna. Ia melibatkan tiga elemen utama: spesifikasi, senario dan langkah.
Spesifikasi ialah penerangan terperinci tentang tingkah laku aplikasi, senario ialah instantiasi spesifikasi dan langkah ialah tindakan dan hasil yang dijangkakan dalam senario. Dalam PHPUnit, ujian BDD boleh dilaksanakan menggunakan sambungan PHPUnit BDD.
Berikut ialah langkah untuk menggunakan PHPUnit untuk ujian BDD:
Langkah 1: Pasang PHPUnit
PHPUnit boleh dipasang menggunakan komposer, cuma tambahkan kebergantungan PHPUnit dalam fail composer.json. Jalankan arahan berikut dalam folder projek untuk memasang PHPUnit.
composer require phpunit/phpunit
Langkah 2: Pasang sambungan PHPUnit BDD
Sambungan PHPUnit BDD dibina di atas PHPUnit dan menyediakan beberapa fungsi tambahan untuk menambah spesifikasi, senario, langkah dan hasil yang diingini.
Sambungan BDD PHPUnit boleh dipasang menggunakan komposer. Jalankan arahan berikut untuk mencari sambungan dalam perpustakaan sambungan PHPUnit BDD:
composer search phpunit-bdd
Pilih versi sambungan PHPUnit BDD yang sesuai, dan kemudian tambahkan kebergantungan sambungan PHPUnit BDD dalam fail composer.json. Jalankan arahan berikut untuk memasang sambungan PHPUnit BDD:
composer require behat/phpunit-bundle --dev
Langkah 3: Buat direktori ujian
Dalam direktori akar projek, buat direktori bernama ujian dan cipta subdirektori bernama ciri di bawah direktori ujian.
Buat fail bernama Login.feature dalam subdirektori ciri. Format fail hendaklah dalam perihalan bahasa Gherkin, seperti yang ditunjukkan di bawah:
Feature: Login Scenario: A user logs in Given I am on the login page When I fill in "username" with "myusername" And I fill in "password" with "mypassword" And I press "login" Then I should be on the dashboard page
Buat fail bernama bootstrap.php dalam direktori ciri. Fail ini mengandungi beberapa konfigurasi yang diperlukan untuk pelaksanaan ujian, serta pengenalan sambungan PHPUnit BDD. Kandungan fail adalah seperti berikut:
<?php require_once __DIR__ . '/../vendor/autoload.php'; $container = new BehatTestworkServiceContainerTesterTesterContainer(); $container->set('phpunit', new BehatPHPUnitDependencyInjectionConfiguration()); $container->set('phpunit.configuration', new BehatPHPUnitConfigurationConfiguration());
Langkah 4: Tulis kelas ujian
Buat fail bernama LoginTest.php dalam direktori ujian. Kandungan fail adalah seperti berikut:
<?php namespace Tests; use BehatBehatContextContext; use BehatBehatTesterExceptionPendingException; use BehatGherkinNodePyStringNode; use BehatGherkinNodeTableNode; use BehatBehatContextSnippetAcceptingContext; use PHPUnitFrameworkTestCase; class LoginTest extends TestCase implements Context, SnippetAcceptingContext { public function testLogin() { $this->getPage('login'); $this->fillField('username', 'myusername'); $this->fillField('password', 'mypassword'); $this->pressButton('login'); $this->assertPageContainsText('dashboard'); } }
Langkah 5: Jalankan ujian
Dalam direktori projek, jalankan arahan berikut untuk melaksanakan ujian:
vendor/bin/behat
PHPUnit akan memuatkan kes ujian secara automatik, jalankan ujian dan jana laporan ujian yang sepadan.
Satu kelebihan ujian BDD ialah ia mencipta input dan output mesra pengguna untuk aplikasi. Ujian BDD bukan sahaja menguji sama ada kod berfungsi dengan betul, tetapi juga menguji sama ada kod itu mudah difahami dan digunakan. Ia menggalakkan kerjasama dan komunikasi antara pasukan, membolehkan pembangun memberi lebih perhatian kepada keperluan dan pengalaman pengguna.
Melaksanakan ujian BDD dalam PHPUnit tidaklah sukar. Cuma ikut langkah di atas untuk mula menulis kes ujian BDD untuk memastikan kebolehpercayaan dan kemesraan pengguna kod anda.
Atas ialah kandungan terperinci Cara menggunakan PHPUnit untuk ujian dipacu tingkah laku dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!