Bagaimana untuk menggunakan PHPUnit dan Phake untuk ujian unit?

王林
Lepaskan: 2023-06-01 06:10:01
asal
1187 orang telah melayarinya

Dengan pembangunan berterusan industri pembangunan perisian, semakin ramai orang mula menggunakan pembangunan dipacu ujian (TDD) dan kaedah pembangunan tangkas untuk meningkatkan kualiti perisian dan kecekapan pembangunan. Antaranya, ujian unit adalah kaedah ujian yang sangat penting, yang boleh mengesan masalah yang berpotensi dalam kod terlebih dahulu dan mengurangkan kos pembangunan dan penyelenggaraan.

Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHPUnit dan Phake, dua rangka kerja ujian unit PHP yang popular, untuk ujian unit.

1. Pengenalan kepada PHPUnit

PHPUnit ialah rangka kerja ujian unit PHP sumber terbuka yang popular yang dicipta dan diselenggara oleh Sebastian Bergmann. Ia menyokong pembangunan dipacu ujian dan pembangunan dipacu tingkah laku, serta menyediakan pelbagai penegasan dan fungsi yang boleh membantu pembangun menulis ujian unit berkualiti tinggi.

2. Pengenalan kepada Phake

Phake ialah perpustakaan PHP untuk mensimulasikan objek dengan mudah. Phake boleh disepadukan dengan rangka kerja ujian unit PHP seperti PHPUnit untuk menyokong pembangunan dipacu ujian.

3. Pasang PHPUnit dan Phake

Sebelum memulakan ujian unit, kita perlu memasang PHPUnit dan Phake. PHPUnit dan Phake boleh dipasang melalui pengurus pakej Komposer.

1. Pasang PHPUnit:

Jalankan arahan berikut dalam baris arahan untuk memasang PHPUnit:

composer require --dev phpunit/phpunit
Salin selepas log masuk

2 baris Jalankan arahan berikut untuk memasang Phake:

composer require --dev phake/phake
Salin selepas log masuk

4. Tulis kod ujian

Dalam contoh ini, kami akan menulis kelas PHP untuk mengira jumlah dua nombor. Kami kemudiannya akan menguji unit kelas ini menggunakan PHPUnit dan Phake.

1. Tulis kelas PHP yang akan diuji:

Buat fail bernama "Calculator.php" untuk menyimpan kelas PHP yang ingin kami uji. Kelas ini akan mempunyai dua kaedah awam: add($a, $b), digunakan untuk mengira jumlah dua nombor.

<?php 
class Calculator {
   public function add($a, $b) {
      return $a + $b;
   }
}
?>
Salin selepas log masuk

2. Tulis kod ujian unit:

Buat fail bernama "CalculatorTest.php" dan tambah kod dan ulasan berikut.

<?php
use PHPUnitFrameworkTestCase;
require_once 'Calculator.php';
class CalculatorTest extends TestCase
{
   //测试计算两个数字之和的方法
   public function testAdd() {
      //创建一个计算器实例
      $calculator = new Calculator();

      //使用断言检查$calculator->add()方法的返回值是否为3
      $this->assertEquals(3, $calculator->add(1, 2));
   }
}
?>
Salin selepas log masuk

3. Gunakan Phake untuk mensimulasikan objek

Dalam beberapa kes, anda mungkin perlu mensimulasikan objek PHP untuk menguji kelakuannya. Pada masa ini, anda boleh menggunakan Phake untuk mensimulasikan objek.

Sebagai contoh, kod sampel berikut mencipta kelas PHP bernama "Mailer", dan dalam kelas ini, kami memanggil kaedah Phake::mock() untuk mencipta olok-olok objek bernama "Mail" objek.

<?php
require_once 'phake/phake.php';
class Mailer
{
    protected $mail;

    public function __construct()
    {
        $this->mail = Phake::mock('Mail');
    }

    public function sendEmail($to, $subject, $body)
    {
        $this->mail->send($to, $subject, $body);
    }
}

?>
Salin selepas log masuk

5. Jalankan ujian unit

Selepas selesai menulis kod ujian, kami perlu menjalankan semua ujian untuk memastikan kod itu boleh berjalan seperti biasa.

Masukkan arahan berikut pada baris arahan untuk menjalankan ujian:

./vendor/bin/phpunit CalculatorTest.php
Salin selepas log masuk

Keputusan:

PHPUnit 7.4.1 oleh Sebastian Bergmann dan penyumbang.

. 1 / 1 (100%)

Masa: 76 ms, Memori: 4.00MB

OK (1 ujian, 1 penegasan)

Keputusan di atas menunjukkan bahawa ujian lulus.

6. Ringkasan

Artikel ini memperkenalkan cara menggunakan PHPUnit dan Phake untuk ujian unit PHP. Alat ini membantu pembangun menulis kod berkualiti tinggi dan mengelakkan masalah yang mungkin berlaku. Dalam pembangunan sebenar, kita harus menggunakan sepenuhnya alatan ini untuk meningkatkan kualiti perisian dan mengurangkan kos pembangunan dan penyelenggaraan.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan PHPUnit dan Phake untuk ujian unit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan