Rumah pembangunan bahagian belakang tutorial php Bagaimana untuk menggunakan PHPUnit dan Phake untuk ujian unit?

Bagaimana untuk menggunakan PHPUnit dan Phake untuk ujian unit?

May 31, 2023 pm 11:51 PM
Ujian unit phpunit phake

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!

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)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan 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)

Amalan ujian unit untuk antara muka dan kelas abstrak dalam Java Amalan ujian unit untuk antara muka dan kelas abstrak dalam Java May 02, 2024 am 10:39 AM

Langkah-langkah untuk antara muka ujian unit dan kelas abstrak dalam Java: Buat kelas ujian untuk antara muka. Buat kelas olok-olok untuk melaksanakan kaedah antara muka. Gunakan perpustakaan Mockito untuk mengejek kaedah antara muka dan menulis kaedah ujian. Kelas abstrak mencipta kelas ujian. Buat subkelas bagi kelas abstrak. Tulis kaedah ujian untuk menguji ketepatan kelas abstrak.

Perbezaan antara ujian prestasi dan ujian unit dalam bahasa Go Perbezaan antara ujian prestasi dan ujian unit dalam bahasa Go May 08, 2024 pm 03:09 PM

Ujian prestasi menilai prestasi aplikasi di bawah beban yang berbeza, manakala ujian unit mengesahkan ketepatan satu unit kod. Ujian prestasi memfokuskan pada mengukur masa tindak balas dan daya pemprosesan, manakala ujian unit memfokuskan pada output fungsi dan liputan kod. Ujian prestasi mensimulasikan persekitaran dunia sebenar dengan beban tinggi dan serentak, manakala ujian unit dijalankan di bawah beban rendah dan keadaan bersiri. Matlamat ujian prestasi adalah untuk mengenal pasti kesesakan prestasi dan mengoptimumkan aplikasi, manakala matlamat ujian unit adalah untuk memastikan ketepatan dan keteguhan kod.

Analisis kelebihan dan kekurangan alat ujian unit PHP Analisis kelebihan dan kekurangan alat ujian unit PHP May 06, 2024 pm 10:51 PM

Analisis alat ujian unit PHP: PHPUnit: sesuai untuk projek besar, menyediakan fungsi yang komprehensif dan mudah dipasang, tetapi mungkin bertele-tele dan perlahan. PHPUnitWrapper: sesuai untuk projek kecil, mudah digunakan, dioptimumkan untuk Lumen/Laravel, tetapi mempunyai fungsi terhad, tidak menyediakan analisis liputan kod dan mempunyai sokongan komuniti terhad.

Bagaimana untuk menggunakan kaedah ujian dipacu jadual dalam ujian unit Golang? Bagaimana untuk menggunakan kaedah ujian dipacu jadual dalam ujian unit Golang? Jun 01, 2024 am 09:48 AM

Ujian dipacu jadual memudahkan penulisan kes ujian dalam ujian unit Go dengan mentakrifkan input dan output yang dijangka melalui jadual. Sintaks termasuk: 1. Tentukan kepingan yang mengandungi struktur kes ujian 2. Gelung melalui kepingan dan bandingkan keputusan dengan output yang dijangkakan. Dalam kes sebenar, ujian dipacu jadual telah dilakukan pada fungsi menukar rentetan kepada huruf besar, dan gotest digunakan untuk menjalankan ujian dan keputusan lulus telah dicetak.

Apakah perbezaan antara ujian unit dan ujian integrasi dalam ujian fungsi golang? Apakah perbezaan antara ujian unit dan ujian integrasi dalam ujian fungsi golang? Apr 27, 2024 am 08:30 AM

Ujian unit dan ujian penyepaduan ialah dua jenis ujian fungsi Go yang berbeza, yang digunakan untuk mengesahkan interaksi dan penyepaduan fungsi tunggal atau berbilang fungsi masing-masing. Ujian unit hanya menguji kefungsian asas fungsi tertentu, manakala ujian penyepaduan menguji interaksi antara pelbagai fungsi dan penyepaduan dengan bahagian lain aplikasi.

Pengujian Unit PHP: Cara Mereka Bentuk Kes Ujian Berkesan Pengujian Unit PHP: Cara Mereka Bentuk Kes Ujian Berkesan Jun 03, 2024 pm 03:34 PM

Adalah penting untuk mereka bentuk kes ujian unit yang berkesan, mematuhi prinsip berikut: atom, ringkas, boleh berulang dan tidak jelas. Langkah-langkahnya termasuk: menentukan kod yang akan diuji, mengenal pasti senario ujian, mencipta penegasan dan menulis kaedah ujian. Kes praktikal menunjukkan penciptaan kes ujian untuk fungsi max(), menekankan kepentingan senario dan penegasan ujian tertentu. Dengan mengikuti prinsip dan langkah ini, anda boleh meningkatkan kualiti dan kestabilan kod.

Ujian Unit PHP: Petua untuk Meningkatkan Liputan Kod Ujian Unit PHP: Petua untuk Meningkatkan Liputan Kod Jun 01, 2024 pm 06:39 PM

Cara meningkatkan liputan kod dalam ujian unit PHP: Gunakan pilihan --coverage-html PHPUnit untuk menjana laporan liputan. Gunakan kaedah setAccessible untuk mengatasi kaedah dan sifat peribadi. Gunakan penegasan untuk mengatasi syarat Boolean. Dapatkan cerapan liputan kod tambahan dengan alat semakan kod.

Integrasi ujian unit PHP dan penghantaran berterusan Integrasi ujian unit PHP dan penghantaran berterusan May 06, 2024 pm 06:45 PM

Ringkasan: Dengan menyepadukan rangka kerja ujian unit PHPUnit dan saluran paip CI/CD, anda boleh meningkatkan kualiti kod PHP dan mempercepatkan penghantaran perisian. PHPUnit membenarkan penciptaan kes ujian untuk mengesahkan kefungsian komponen, dan alatan CI/CD seperti GitLabCI dan GitHubActions boleh menjalankan ujian ini secara automatik. Contoh: Sahkan pengawal pengesahan dengan kes ujian untuk memastikan fungsi log masuk berfungsi seperti yang diharapkan.

See all articles