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

Cara menggunakan rangka kerja PHPUnit untuk ujian dalam PHP

May 22, 2023 am 08:19 AM
php ujian phpunitframework

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
Salin selepas log masuk

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);
    }
}
Salin selepas log masuk

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
Salin selepas log masuk

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); // 类的实例
Salin selepas log masuk
  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],
    ];
}
Salin selepas log masuk

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 Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

CakePHP Bekerja dengan Pangkalan Data CakePHP Bekerja dengan Pangkalan Data Sep 10, 2024 pm 05:25 PM

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Pembalakan CakePHP Pembalakan CakePHP Sep 10, 2024 pm 05:26 PM

Log masuk CakePHP adalah tugas yang sangat mudah. Anda hanya perlu menggunakan satu fungsi. Anda boleh log ralat, pengecualian, aktiviti pengguna, tindakan yang diambil oleh pengguna, untuk sebarang proses latar belakang seperti cronjob. Mengelog data dalam CakePHP adalah mudah. Fungsi log() disediakan

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

See all articles