Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHPUnit untuk ujian dipacu tingkah laku dalam PHP

Cara menggunakan PHPUnit untuk ujian dipacu tingkah laku dalam PHP

王林
王林asal
2023-06-27 17:54:22670semak imbas

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn