Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melakukan ujian unit PHP?

Bagaimana untuk melakukan ujian unit PHP?

王林
王林asal
2023-05-12 08:28:352040semak imbas

Dalam pembangunan web, PHP ialah bahasa yang popular, jadi ujian unit PHP adalah kemahiran yang mesti dimiliki oleh sesiapa sahaja. Artikel ini akan memperkenalkan ujian unit PHP dan cara menjalankan ujian unit PHP.

1. Apakah ujian unit PHP?

Ujian unit PHP merujuk kepada ujian komponen terkecil aplikasi PHP, juga dipanggil unit kod. Unit kod ini boleh menjadi kaedah, kelas, atau set kelas. Ujian unit PHP direka untuk mengesahkan bahawa setiap unit kod berfungsi seperti yang diharapkan dan berfungsi dengan betul dengan unit lain.

Dalam PHP, terdapat dua jenis ujian unit utama: ujian statik dan ujian dinamik.

Ujian statik merujuk kepada ujian kod menggunakan alat analisis kod PHP tanpa menjalankan sebarang kes ujian dalam kod. Ujian statik boleh mengesan kemungkinan ralat seperti fungsi tidak ditentukan atau panggilan kaedah. Alat ujian statik PHP yang paling popular ialah PHPStan dan PHPMD.

Ujian dinamik merujuk kepada menentukan kes ujian dalam kod dan menjalankan kes ujian ini dalam persekitaran ujian. Ujian dinamik boleh membantu mengesan ralat dalam kod anda, seperti pengecualian yang tidak dikendalikan atau ralat logik. Alat ujian dinamik PHP yang popular termasuk PHPUnit dan SimpleTest.

2. Bagaimana untuk menjalankan ujian unit PHP?

  1. Pasang PHPUnit

PHPUnit ialah salah satu rangka kerja ujian yang paling popular dalam PHP. Pertama, kita perlu memasang PHPUnit Anda boleh menggunakan pengurus pakej PHP Komposer untuk memasang PHPUnit. Jalankan arahan berikut untuk memasang PHPUnit:

composer require phpunit/phpunit --dev
  1. Buat fail ujian

Buat fail bernama "CalculatorTest.php" dan tulis kes ujian dalam fail ini. Sebagai contoh, kita boleh menguji kaedah "tambah" kelas yang dipanggil "Kalkulator":

<?php
use PHPUnitFrameworkTestCase;

class CalculatorTest extends TestCase {
  public function testAdd() {
    include 'Calculator.php';       //包含要测试的类

    $calculator = new Calculator();

    $result = $calculator->add(2, 3);

    $this->assertEquals(5, $result);
  }
}
?>

Dalam contoh ini, kami menggunakan kelas "TestCase" dalam PHPUnit, yang menyediakan banyak Kaedah penegasan yang berguna, seperti sebagai kaedah "assertEquals", digunakan untuk menegaskan sama ada dua nilai adalah sama.

  1. Jalankan ujian

Selepas menyimpan fail ujian, tukar ke direktori projek di terminal dan jalankan arahan berikut untuk menjalankan ujian:

./vendor/bin/phpunit CalculatorTest.php

Ini akan menjalankan Semua kes ujian dalam fail "CalculatorTest.php" dan memaparkan keputusan ujian. Jika semua kes ujian lulus, anda akan melihat mesej kejayaan.

  1. Tulis lebih banyak kes ujian

Biasanya, kita perlu menulis beberapa kes ujian untuk merangkumi semua situasi yang mungkin. Sebagai contoh, kita boleh menulis kes ujian untuk menguji kaedah "tolak":

public function testSubtract() {
  include 'Calculator.php';

  $calculator = new Calculator();

  $result = $calculator->subtract(5, 3);

  $this->assertEquals(2, $result);
}

Dalam contoh ini, kami menguji kaedah "tolak" dan menegaskan sama ada hasilnya sama dengan "2" menggunakan "assertEquals " kaedah.

  1. Menggunakan Pembekal Data

Dalam PHP, anda boleh menggunakan penyedia data untuk mengulang melalui berbilang kes ujian. Pembekal data ialah kaedah yang mengembalikan berbilang set data. Kami boleh mengaitkan penyedia data dengan kes ujian menggunakan anotasi "dataProvider".

Sebagai contoh, kami boleh mencipta pembekal data untuk menguji kaedah "darab":

public function multiplicationProvider() {
    return [
      [0, 0, 0],
      [1, 0, 0],
      [0, 1, 0],
      [2, 2, 4],
      [1, -1, -1],
      [-1, -1, 1],
    ];
}

/**
 * @dataProvider multiplicationProvider
 */
public function testMultiply($a, $b, $result) {
    include 'Calculator.php';

    $calculator = new Calculator();

    $this->assertEquals($calculator->multiply($a, $b), $result);
}

Dalam contoh ini, kami mencipta pembekal data yang dipanggil "Pembekal darab" yang mengembalikan set data Berbilang. Kami kemudiannya mengaitkan pembekal data dengan kes ujian menggunakan anotasi "dataProvider" dalam kaedah "testMultiply". Dengan cara ini, semasa ujian dijalankan, PHPUnit secara automatik melelar melalui semua set data dalam pembekal data dan melaksanakan kes ujian sekali untuk setiap set data.

3. Ringkasan

Pengujian unit PHP ialah kemahiran yang mesti diketahui oleh mana-mana pembangun PHP. Dalam artikel ini, kami memperkenalkan ujian unit PHP dan cara menggunakan PHPUnit untuk ujian unit. Kami juga mempelajari cara menggunakan penyedia data untuk menulis lebih banyak kes ujian. Dengan menggunakan teknik ini, kami boleh menulis kod PHP yang mantap dan memastikan kod tersebut berfungsi seperti yang diharapkan.

Atas ialah kandungan terperinci Bagaimana untuk melakukan ujian unit 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