Rumah >pembangunan bahagian belakang >tutorial php >Cara menggunakan rangka kerja PHPUnit untuk ujian dalam PHP

Cara menggunakan rangka kerja PHPUnit untuk ujian dalam PHP

WBOY
WBOYasal
2023-05-22 08:19:351389semak imbas

Memandangkan pembangunan web terus berkembang, ujian telah menjadi bahagian penting. Dalam pembangunan web, ujian boleh membantu kami memastikan kualiti kod dan meningkatkan kecekapan pembangunan. Rangka kerja PHPUnit ialah salah satu rangka kerja ujian yang paling biasa digunakan dalam PHP Ia menyediakan pelbagai alat ujian dan API, membolehkan pembangun menulis dan melaksanakan kes ujian dengan mudah. Dalam artikel ini, kita akan membincangkan cara menggunakan rangka kerja PHPUnit untuk ujian dalam PHP.

1. Pasang PHPUnit

PHPUnit ialah perpustakaan sambungan PHP bebas yang boleh dipasang melalui Komposer. Sebelum memasang PHPUnit, anda perlu memastikan bahawa Komposer dipasang. Jika ia tidak dipasang, sila pasangkannya mengikut arahan di laman web rasmi Komposer.

Sebelum memasang PHPUnit, anda perlu memasang kebergantungan PHPUnit dalam projek dahulu:

composer require --dev phpunit/phpunit

Arahan ini akan memasang pakej kebergantungan PHPUnit dalam direktori vendor projek dan menyimpannya sebagai pergantungan pembangunan dalam bahagian composer.jsonrequire-dev dalam fail. Selepas arahan ini selesai dijalankan, kita boleh menggunakan PHPUnit.

2. Cipta kes ujian

Sebelum menggunakan PHPUnit untuk ujian, anda perlu menulis kes ujian terlebih dahulu. Kes ujian ialah koleksi kod ujian untuk fungsi atau kaedah tertentu, yang digunakan untuk mengesahkan ketepatan kod tersebut. Dalam PHPUnit, kelas kes ujian boleh mengandungi berbilang kaedah ujian. Kaedah ujian bermula dengan test dan tidak boleh menerima sebarang parameter.

Mari kita buat kes ujian mudah untuk mengesahkan ketepatan fungsi penambahan. Mula-mula, kita perlu mencipta fail bernama CalculatorTest.php dalam direktori akar projek, dan kemudian tulis kes ujian dalam fail:

<?php
use PHPUnitFrameworkTestCase;

class CalculatorTest extends TestCase
{
    public function testAddition()
    {
        $this->assertSame(2 + 2, 4);
    }
}

Dalam contoh di atas, kami menulis fail bernama testAddition() Ujian kaedah yang mengesahkan sama ada 2 + 2 sama dengan 4. Antaranya, kami menggunakan fungsi assertSame() untuk menentukan sama ada dua nilai adalah sama. Jika kedua-dua nilai tidak sama, kes ujian akan gagal.

3. Jalankan kes ujian

Selepas menulis kes ujian, kami boleh menjalankan kes ujian untuk mengesahkan ketepatan kod. Dalam PHPUnit, anda boleh menjalankan kes ujian melalui arahan berikut:

./vendor/bin/phpunit CalculatorTest.php

Selepas menjalankan arahan di atas, PHPUnit secara automatik akan menjalankan kes ujian yang kami tulis dalam fail CalculatorTest.php. Jika kes ujian berjalan dengan jayanya, simbol hijau akan dikeluarkan jika tidak, simbol merah akan dikeluarkan dan sebab kegagalan ujian akan digesa.

4. Gunakan API yang disediakan oleh PHPUnit

PHPUnit menyediakan banyak API praktikal, memudahkan kami menulis kes ujian.

  1. Assertion API

API yang paling biasa digunakan dalam PHPUnit ialah asersi API. Ia menyediakan beberapa fungsi untuk menegaskan keputusan ujian, seperti assertEmpty(), assertNotNull(), assertGreaterThan(), dsb. Fungsi ini boleh digunakan pada objek ujian, rentetan, tatasusunan, pembolehubah dan banyak lagi.

Berikut ialah beberapa contoh fungsi penegasan yang biasa digunakan:

$this->assertEquals(2 + 2, 4);  // 两个值相等
$this->assertNotEmpty($array); // 非空数组
$this->assertInstanceOf(MyClass::class, $object); // 类的实例
  1. API Set Data

PHPUnit menyediakan API Set Data yang boleh digunakan dalam ujian yang sama Uji beberapa set data dalam kes penggunaan. Cara untuk menggunakannya ialah menggunakan data ujian sebagai tatasusunan, dan kemudian gunakan anotasi @dataProvider untuk menentukan fungsi penyediaan data, seperti yang ditunjukkan di bawah:

/**
 * @dataProvider additionProvider
 */
public function testAddition($a, $b, $expected)
{
    $this->assertSame($a + $b, $expected);
}

public function additionProvider()
{
    return [
        [0, 0, 0],
        [0, 1, 1],
        [1, 0, 1],
        [1, 1, 2],
    ];
}

Dalam contoh di atas, kami menggunakan @dataProvider anotasi untuk menyediakan data ujian Nama fungsi ditetapkan kepada additionProvider. Fungsi ini mengembalikan tatasusunan yang mengandungi berbilang set data ujian.

5. Ringkasan

Dalam artikel ini, kami memperkenalkan cara menggunakan rangka kerja PHPUnit untuk ujian dalam PHP. Kami mula-mula memperkenalkan pemasangan dan penggunaan PHPUnit, kemudian menunjukkan cara mencipta kes ujian dan menjalankan kes ujian, dan akhirnya memperkenalkan beberapa API praktikal yang disediakan oleh PHPUnit. Menggunakan rangka kerja PHPUnit boleh membantu kami menulis dan melaksanakan kes ujian dengan lebih mudah, dengan itu meningkatkan kualiti kod dan kecekapan pembangunan.

Atas ialah kandungan terperinci Cara menggunakan rangka kerja PHPUnit untuk ujian 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