Rumah >pembangunan bahagian belakang >tutorial php >Ujian unit dan analisis liputan fungsi PHP

Ujian unit dan analisis liputan fungsi PHP

WBOY
WBOYasal
2024-04-28 12:12:01821semak imbas

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.

PHP 函数的单元测试和覆盖率分析

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-html

Ini 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

Kes praktikal🎜🎜🎜Untuk menunjukkan, kami mencipta fungsi tambah tersuai dan kemudian menulis ujian unit untuk mengujinya: 🎜🎜🎜functions.php🎜🎜rrreee🎜🎜AddFunctionTest.test.test.php🎜 Ujian: 🎜rrreee🎜 Jana laporan liputan: 🎜rrreee🎜 Laporan liputan akan menunjukkan bahawa fungsi 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!

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