Cara Mula Menguji dalam PHP dengan PHPUnit dengan panduan langkah demi langkah.
Sebelum anda mula menulis ujian, anda perlu memasang PHPUnit dalam projek anda.
Anda boleh memasangnya secara global menggunakan Komposer:
composer global require phpunit/phpunit
Atau pasangkannya secara setempat untuk projek tertentu:
composer require --dev phpunit/phpunit
Setelah dipasang, anda boleh mengesahkan pemasangan dengan menjalankan:
./vendor/bin/phpunit --version
Mari buat kelas Kalkulator mudah yang akan menambah dua nombor. Kelas ini akan menjadi subjek ujian kami.
// src/Calculator.php class Calculator { public function add($a, $b) { return $a + $b; } }
Seterusnya, buat kelas ujian untuk menulis ujian untuk kelas Kalkulator. Mengikut konvensyen, fail ujian PHPUnit hendaklah berakhir dengan Test.php dan diletakkan dalam direktori ujian.
// tests/CalculatorTest.php use PHPUnit\Framework\TestCase; class CalculatorTest extends TestCase { public function testAddition() { // Arrange: Create a new Calculator instance $calculator = new Calculator(); // Act: Perform the add operation $result = $calculator->add(2, 3); // Assert: Verify the result is 5 $this->assertEquals(5, $result); } }
Kelas Ujian:
Kelas ujian CalculatorTest memanjangkan TestCase, iaitu kelas asas yang disediakan oleh PHPUnit. Setiap kelas ujian harus mewarisi daripada ini.
Susun:
Dalam kaedah testAddition, kami membuat instantiate kelas Kalkulator. Langkah ini menyediakan semua yang diperlukan untuk ujian (biasa dipanggil fasa "susun").
Bertindak:
Kami memanggil kaedah add() daripada kelas Kalkulator dengan nilai 2 dan 3. Ini ialah tindakan atau tingkah laku yang kami uji.
Tegaskan:
Akhir sekali, kami menggunakan kaedah assertEquals() untuk mengesahkan bahawa output add(2, 3) sememangnya 5. Jika pernyataan itu benar, ujian akan lulus; jika tidak, ia akan gagal.
Untuk menjalankan ujian anda, laksanakan arahan berikut dalam terminal:
./vendor/bin/phpunit tests
Jika semuanya disediakan dengan betul, anda akan melihat output yang serupa dengan ini:
PHPUnit 9.5.4 by Sebastian Bergmann and contributors. . 1 / 1 (100%) Time: 00:00.010, Memory: 4.00 MB OK (1 test, 1 assertion)
Mari tambahkan kaedah lain untuk menguji penolakan dan tulis kes ujian yang sepadan.
// src/Calculator.php class Calculator { public function add($a, $b) { return $a + $b; } public function subtract($a, $b) { return $a - $b; } }
// tests/CalculatorTest.php use PHPUnit\Framework\TestCase; class CalculatorTest extends TestCase { public function testAddition() { $calculator = new Calculator(); $result = $calculator->add(2, 3); $this->assertEquals(5, $result); } public function testSubtraction() { $calculator = new Calculator(); $result = $calculator->subtract(5, 3); $this->assertEquals(2, $result); } }
Jalankan ujian sekali lagi untuk memastikan kaedah tambah dan tolak berfungsi:
./vendor/bin/phpunit tests
Jika kedua-dua ujian lulus, anda seharusnya melihat:
PHPUnit 9.5.4 by Sebastian Bergmann and contributors. .. 2 / 2 (100%) Time: 00:00.010, Memory: 4.00 MB OK (2 tests, 2 assertions)
Kini anda mempunyai persediaan asas untuk ujian dalam PHP menggunakan PHPUnit. Berikut ialah imbasan pantas proses tersebut:
Dengan mengembangkan pendekatan ini untuk merangkumi senario yang lebih kompleks, anda akan memastikan kod PHP anda berfungsi seperti yang diharapkan.
Atas ialah kandungan terperinci Panduan Pemula untuk Menguji Kod PHP dengan PHPUnit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!