Rumah >pembangunan bahagian belakang >tutorial php >Ujian unit dan analisis liputan fungsi PHP
Ujian unit dan analisis liputan fungsi PHP: Gunakan PHPUnit untuk ujian unit, menulis fail .test.php untuk mengasingkan dan menguji fungsi individu. Gunakan arahan phpunit untuk menjalankan ujian unit. Gunakan phpunit --coverage-html untuk menganalisis liputan dan menjana laporan yang menunjukkan baris kod yang diuji dan belum diuji. Memasang PHPUnit, menulis ujian unit, menjalankan ujian, menganalisis liputan, menunjukkan proses ini menggunakan fungsi tambah tersuai.
Ujian Unit dan Analisis Liputan Fungsi PHP
Menulis kod kualiti dalam PHP memerlukan ujian yang ketat untuk memastikan ia berfungsi dengan betul dan mencapai hasil yang diharapkan. Ujian unit menyediakan cara untuk mengasingkan dan menguji fungsi atau kaedah individu, manakala analisis liputan membantu menentukan bahagian kod yang telah diuji.
Pasang PHPUnit
PHPUnit ialah rangka kerja ujian unit PHP yang popular. Untuk memasangnya, gunakan Komposer:
composer require --dev phpunit/phpunit
Ujian Unit Penulisan
Ujian unit ditulis dengan fail sambungan .test.php. Berikut ialah contoh menguji fungsi tambah:
<?php use PHPUnit\Framework\TestCase; class AddFunctionTest extends TestCase { public function testAddNumbers() { $result = add(1, 2); $this->assertEquals(3, $result); } }
Jalankan ujian unit
Jalankan ujian unit menggunakan arahan phpunit:
phpunit
Analisis liputan
Phpunit menyediakan laporan liputan terbina dalam: pilihan
phpunit --coverage-htmlIni akan menjana laporan liputan dalam direktori
html
. Ia akan menunjukkan baris mana dalam kod yang telah diuji dan baris mana yang belum diuji. html
目录下生成一个覆盖率报告。它将显示代码中哪些行已被测试,哪些行尚未被测试。
实战案例
为了演示,我们创建一个自定义 add 函数,然后编写一个单元测试来测试它:
functions.php
<?php function add(int $num1, int $num2): int { return $num1 + $num2; }
AddFunctionTest.test.php
<?php use PHPUnit\Framework\TestCase; class AddFunctionTest extends TestCase { public function testAddNumbers() { $result = add(1, 2); $this->assertEquals(3, $result); } public function testAddNegativeNumbers() { $result = add(-1, -2); $this->assertEquals(-3, $result); }
运行单元测试:
phpunit
生成覆盖率报告:
phpunit --coverage-html
覆盖率报告将显示 add
add
dilindungi sepenuhnya, yang bermaksud ujian unit kami meliputi semua laluan kodnya. 🎜Atas ialah kandungan terperinci Ujian unit dan analisis liputan fungsi PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!