Rumah >pembangunan bahagian belakang >tutorial php >Pengujian Unit PHP: Ujian dipacu data dengan PHPUnit

Pengujian Unit PHP: Ujian dipacu data dengan PHPUnit

WBOY
WBOYasal
2024-06-01 13:22:56626semak imbas

Bagaimana untuk menggunakan PHPUnit untuk ujian dipacu data dalam PHP? Pasang PHPUnit. Buat kaedah pembekal data yang mengembalikan tatasusunan berbilang dimensi yang mengandungi data ujian. Tambahkan anotasi @dataProvider pada kaedah ujian untuk menentukan nama kaedah pembekal data. Dapatkan data dan tetapkan penegasan dalam kaedah ujian. Ujian dipacu data boleh meningkatkan kecekapan dan liputan ujian.

Pengujian Unit PHP: Ujian dipacu data dengan PHPUnit

Pengujian Unit PHP: Ujian dipacu data menggunakan PHPUnit

Pengenalan

Pengujian dipacu data ialah kaedah ujian yang cekap yang menggunakan satu set data input yang berbeza untuk menguji fungsi yang sama atau kaedah input beberapa kali. Ini boleh membantu memastikan kod anda berfungsi dengan betul dalam pelbagai senario. PHPUnit ialah rangka kerja ujian unit popular untuk PHP yang menyediakan mekanisme yang fleksibel dan mudah digunakan untuk mencipta ujian dipacu data.

Sediakan PHPUnit

Sebelum anda bermula, pastikan anda telah memasang PHPUnit. Anda boleh memasangnya melalui komposer:

composer require --dev phpunit/phpunit

Buat pembekal data

Untuk menjalankan ujian dipacu data, anda perlu menentukan penyedia data untuk menyediakan data ujian. Pembekal data ialah kaedah yang mengembalikan tatasusunan berbilang dimensi di mana setiap baris mewakili satu set data ujian:

class DataProviderExampleTest extends PHPUnit\Framework\TestCase
{
    public function additionData()
    {
        return [
            [1, 2, 3],
            [4, 5, 9],
            [6, 7, 13],
        ];
    }
}

Menggunakan @dataProvider

Untuk menggunakan pembekal data, tambahkan @ pada kaedah ujian anda DataProvider anotasi. Anotasi hendaklah menyatakan nama kaedah pembekal data: @dataProvider 注解。该注解应指定数据提供器方法的名称:

public function testAddition()
{
    // 获取输入数据
    $dataProvider = $this->dataProvider();

    // 设置断言
    $this->assertEquals($dataProvider[0][2], $dataProvider[0][0] + $dataProvider[0][1]);
    $this->assertEquals($dataProvider[1][2], $dataProvider[1][0] + $dataProvider[1][1]);
    // ...
}

实战案例

以下是一个测试 addition 函数的实用示例:

class MathTest extends PHPUnit\Framework\TestCase
{
    /**
     * @dataProvider additionData
     */
    public function testAddition(int $a, int $b, int $expected)
    {
        $actual = $this->addition($a, $b);
        $this->assertEquals($expected, $actual);
    }

    public function additionData()
    {
        return [
            [1, 2, 3],
            [4, 5, 9],
            [6, 7, 13],
        ];
    }
}

在这个示例中,addition 是需要测试的函数,additionDatarrreee

Contoh praktikal

Berikut ialah contoh praktikal untuk menguji fungsi penambahan:

rrreee

Dalam contoh ini, tambahan ialah fungsi yang perlu diuji dan additionData menyediakan data untuk input yang berbeza dan output yang dijangkakan. 🎜🎜🎜Kesimpulan🎜🎜🎜Menggunakan PHPUnit untuk ujian dipacu data boleh meningkatkan kecekapan dan liputan ujian anda. Ia membolehkan anda menguji berbilang senario kod anda secara serentak menggunakan satu set data untuk menemui kecacatan secara lebih menyeluruh. 🎜

Atas ialah kandungan terperinci Pengujian Unit PHP: Ujian dipacu data dengan PHPUnit. 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