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

Cara menggunakan PHPUnit untuk pembangunan dipacu ujian dalam pembangunan PHP

Jun 25, 2023 pm 02:21 PM
pembangunan php phpunit pembangunan dipacu ujian (tdd)

Gunakan PHPUnit untuk pembangunan dipacu ujian dalam pembangunan PHP

Dengan perkembangan pesat industri perisian, pembangunan dipacu ujian (TDD) memainkan peranan yang semakin penting dalam proses pembangunan perisian. PHPUnit ialah salah satu rangka kerja ujian yang paling biasa digunakan dalam pembangunan PHP. Ia menyediakan set alat dan kaedah berguna yang boleh membantu pembangun menulis ujian unit berkualiti tinggi dan menyepadukannya ke dalam aplikasi PHP. Artikel ini akan memperkenalkan cara menggunakan PHPUnit untuk TDD dalam pembangunan PHP.

  1. Pasang PHPUnit

Mula-mula anda perlu memasang PHPUnit. Ia boleh dipasang melalui Composer, salah satu pengurus pakej paling popular untuk PHP. Mula-mula, anda perlu mencipta fail composer.json dalam direktori utama dan menambah kandungan berikut:

{
    "require-dev": {
        "phpunit/phpunit": "^9.5"
    }
}
Salin selepas log masuk

Versi PHPUnit 9.5 dinyatakan di sini dan boleh ditukar mengikut keperluan. Seterusnya, gunakan arahan berikut untuk memasang PHPUnit:

$ composer install
Salin selepas log masuk

Selepas pemasangan selesai, anda boleh mengesahkan sama ada PHPUnit berjaya dipasang dengan menggunakan arahan berikut:

$ ./vendor/bin/phpunit --version
Salin selepas log masuk
  1. Menulis kes ujian

Selepas PHPUnit dipasang, anda boleh mula menulis kes ujian. Kes ujian ialah satu set unit ujian yang digunakan untuk mengesahkan bahawa pelbagai bahagian fungsi kod sumber seperti yang diharapkan. Setiap kes ujian hendaklah mengandungi sekurang-kurangnya satu kaedah ujian, iaitu unit dalam kes ujian yang digunakan untuk mengesahkan kod. Kaedah ujian biasanya diuji menggunakan kaedah penegasan yang disediakan oleh PHPUnit.

Berikut ialah contoh mudah:

<?php
use PHPUnitFrameworkTestCase;

class MyTest extends TestCase
{
    public function testAddition()
    {
        $this->assertEquals(2, 1+1);
    }
}
Salin selepas log masuk

Dalam contoh ini, kes ujian dinamakan MyTest dan mengandungi kaedah ujian testAddition(). Kaedah ujian menggunakan kaedah penegasan assertEquals() untuk mengesahkan sama ada 1 + 1 sama dengan 2. Untuk butiran lanjut tentang kaedah penegasan PHPUnit, lihat dokumentasi PHPUnit rasmi.

  1. Melaksanakan kes ujian

Selepas kes ujian ditulis, ia perlu dilaksanakan untuk mengesahkan bahawa kod berjalan seperti yang diharapkan. Kes ujian boleh dilaksanakan menggunakan arahan berikut:

$ ./vendor/bin/phpunit MyTest.php
Salin selepas log masuk

Dalam arahan di atas, MyTest.php ialah nama fail kes ujian. Apabila kes ujian dilaksanakan, PHPUnit akan memuatkan fail secara dinamik dan melaksanakan kaedah ujian. Jika ujian lulus, mesej hijau dipaparkan jika ujian gagal, mesej merah dipaparkan.

  1. Menggunakan Mocks and Stubs

Mocks and Stubs ialah dua lagi ciri berguna PHPUnit. Ia digunakan untuk mengejek objek dan fungsi untuk memastikan bahawa kod dilaksanakan dalam konteks yang betul.

Mocks ialah sejenis objek khas yang digunakan untuk mensimulasikan dan menguji kelakuan objek lain. Dalam PHPUnit, Mocks dibuat menggunakan kaedah getMock(). Berikut ialah contoh penggunaan Mocks:

<?php
use PHPUnitFrameworkTestCase;

class UserRepositoryTest extends TestCase
{
    public function testGetUserById()
    {
        $user = new stdClass();
        $user->id = 1;
        $user->name = 'John';

        $repository = $this->getMock('UserRepository');
        $repository->expects($this->once())
          ->method('getUserById')
          ->with($this->equalTo(1))
          ->will($this->returnValue($user));

        $result = $repository->getUserById(1);

        $this->assertSame($user, $result);
    }
}
Salin selepas log masuk

Dalam kod di atas, gunakan kaedah getMock() untuk mencipta Mocks of UserRepository. Kemudian, gunakan kaedah expects() untuk menentukan kaedah yang perlu disimulasikan, dan gunakan kaedah with() untuk menentukan parameter input. Akhir sekali, gunakan kaedah will() untuk menentukan hasil operasi simulasi.

Stubs ialah alat lain yang serupa dengan Mocks untuk fungsi mengejek. Dalam PHPUnit, anda boleh menggunakan kod berikut untuk stubbing:

<?php
use PHPUnitFrameworkTestCase;

class MyTest extends TestCase
{
    public function testMyFunction()
    {
        $stub = $this->getMockBuilder('SomeClass')
                     ->getMock();

        $stub->method('myFunction')
             ->willReturn('foo');

        $this->assertSame('foo', $stub->myFunction());
    }
}
Salin selepas log masuk

Dalam contoh ini, mula-mula gunakan kaedah getMockBuilder() untuk mencipta Mocks of SomeClass. Kemudian, gunakan kaedah kaedah() untuk menentukan fungsi yang perlu disimulasikan, dan gunakan kaedah willReturn() untuk menentukan hasil operasi simulasi.

  1. Kesimpulan

PHPUnit menyediakan pembangun PHP dengan cara yang boleh dipercayai untuk menulis ujian unit berkualiti tinggi untuk memastikan kod berjalan seperti yang diharapkan. Dalam artikel ini, kami membincangkan cara menggunakan PHPUnit untuk pembangunan dipacu ujian dan cara mengejek objek dan fungsi menggunakan Mocks dan Stubs. Apabila menggunakan PHPUnit untuk pembangunan dipacu ujian, sentiasa ingat untuk menulis kes ujian sebelum menulis kod. Dalam kebanyakan kes, kes ujian yang ditulis dengan baik boleh memberikan kualiti kod yang lebih baik dan hasil yang lebih baik.

Atas ialah kandungan terperinci Cara menggunakan PHPUnit untuk pembangunan dipacu ujian dalam pembangunan 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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Bagaimana untuk menggunakan Memcache dalam pembangunan PHP? Bagaimana untuk menggunakan Memcache dalam pembangunan PHP? Nov 07, 2023 pm 12:49 PM

Dalam pembangunan web, kita selalunya perlu menggunakan teknologi caching untuk meningkatkan prestasi tapak web dan kelajuan tindak balas. Memcache ialah teknologi caching popular yang boleh menyimpan sebarang jenis data dan menyokong konkurensi tinggi dan ketersediaan tinggi. Artikel ini akan memperkenalkan cara menggunakan Memcache dalam pembangunan PHP dan memberikan contoh kod khusus. 1. Pasang Memcache Untuk menggunakan Memcache, pertama sekali kita perlu memasang sambungan Memcache pada pelayan. Dalam sistem pengendalian CentOS, anda boleh menggunakan arahan berikut

Cara menggunakan PHP untuk membangunkan platform perkhidmatan tunjuk ajar dalam talian Cara menggunakan PHP untuk membangunkan platform perkhidmatan tunjuk ajar dalam talian Oct 28, 2023 am 09:01 AM

Cara menggunakan PHP untuk membangunkan platform perkhidmatan tunjuk ajar dalam talian Dengan perkembangan pesat Internet, platform perkhidmatan tunjuk ajar dalam talian telah menarik perhatian dan permintaan lebih ramai orang. Ibu bapa dan pelajar boleh mencari tutor yang sesuai dengan mudah melalui platform sedemikian, dan tutor juga boleh menunjukkan kebolehan dan kelebihan mengajar mereka dengan lebih baik. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan platform perkhidmatan tunjuk ajar dalam talian. Pertama, kita perlu menjelaskan keperluan fungsi platform. Platform perkhidmatan tunjuk ajar dalam talian perlu mempunyai fungsi asas berikut: Sistem pendaftaran dan log masuk: pengguna boleh

Huraikan prinsip -prinsip yang kukuh dan bagaimana ia memohon kepada pembangunan PHP. Huraikan prinsip -prinsip yang kukuh dan bagaimana ia memohon kepada pembangunan PHP. Apr 03, 2025 am 12:04 AM

Penerapan prinsip pepejal dalam pembangunan PHP termasuk: 1. Prinsip Tanggungjawab Tunggal (SRP): Setiap kelas bertanggungjawab untuk hanya satu fungsi. 2. Prinsip Terbuka dan Tutup (OCP): Perubahan dicapai melalui lanjutan dan bukannya pengubahsuaian. 3. Prinsip Penggantian Lisch (LSP): Subkelas boleh menggantikan kelas asas tanpa menjejaskan ketepatan program. 4. Prinsip Pengasingan Antara Muka (ISP): Gunakan antara muka halus untuk mengelakkan kebergantungan dan kaedah yang tidak digunakan. 5. Prinsip Inversi Ketergantungan (DIP): Modul peringkat tinggi dan rendah bergantung kepada abstraksi dan dilaksanakan melalui suntikan ketergantungan.

Bagaimana untuk melaksanakan kawalan versi dan kerjasama kod dalam pembangunan PHP? Bagaimana untuk melaksanakan kawalan versi dan kerjasama kod dalam pembangunan PHP? Nov 02, 2023 pm 01:35 PM

Bagaimana untuk melaksanakan kawalan versi dan kerjasama kod dalam pembangunan PHP? Dengan perkembangan pesat Internet dan industri perisian, kawalan versi dan kerjasama kod dalam pembangunan perisian telah menjadi semakin penting. Sama ada anda seorang pembangun bebas atau pasukan yang sedang membangun, anda memerlukan sistem kawalan versi yang berkesan untuk mengurus perubahan kod dan bekerjasama. Dalam pembangunan PHP, terdapat beberapa sistem kawalan versi yang biasa digunakan untuk dipilih, seperti Git dan SVN. Artikel ini akan memperkenalkan cara menggunakan alat ini untuk kawalan versi dan kerjasama kod dalam pembangunan PHP. Langkah pertama ialah memilih yang sesuai dengan anda

PHP Jenkins lwn PHPUnit: Unit menguji kod PHP PHP Jenkins lwn PHPUnit: Unit menguji kod PHP Mar 09, 2024 am 10:10 AM

PHPUnit ialah rangka kerja untuk memperkemas ujian unit dalam PHP. Apabila digabungkan dengan jenkins, anda boleh memasukkan ujian ke dalam proses CI (integrasi berterusan) anda dan menjalankan ujian pada setiap perubahan kod. Pemalam PHPUnit untuk JenkinsPemalam PHPUnit untuk Jenkins membolehkan anda menambah ujian PHPUnit dengan mudah pada kerja Jenkins anda. Pemalam ini menjalankan ujian, memaparkan keputusan dan secara automatik memberitahu anda tentang ujian yang gagal. Memasang dan mengkonfigurasi PHPUnitPHPUnit

Bagaimana untuk menggunakan PHP untuk membangunkan fungsi kupon sistem pesanan? Bagaimana untuk menggunakan PHP untuk membangunkan fungsi kupon sistem pesanan? Nov 01, 2023 pm 04:41 PM

Bagaimana untuk menggunakan PHP untuk membangunkan fungsi kupon sistem pesanan? Dengan perkembangan pesat masyarakat moden, kadar hidup manusia semakin pantas dan semakin ramai orang memilih untuk makan di luar. Kemunculan sistem pesanan telah banyak meningkatkan kecekapan dan kemudahan pesanan pelanggan. Sebagai alat pemasaran untuk menarik pelanggan, fungsi kupon juga digunakan secara meluas dalam pelbagai sistem pesanan. Jadi bagaimana untuk menggunakan PHP untuk membangunkan fungsi kupon sistem pesanan? 1. Reka bentuk pangkalan data Pertama, kita perlu mereka bentuk pangkalan data untuk menyimpan data berkaitan kupon. Adalah disyorkan untuk membuat dua jadual: satu

Bagaimana untuk menggunakan PHP untuk membangunkan fungsi mata ahli sistem beli-belah runcit? Bagaimana untuk menggunakan PHP untuk membangunkan fungsi mata ahli sistem beli-belah runcit? Nov 01, 2023 am 10:30 AM

Bagaimana untuk menggunakan PHP untuk membangunkan fungsi mata ahli sistem beli-belah runcit? Dengan peningkatan e-dagang, semakin ramai orang memilih untuk membeli keperluan harian dalam talian, termasuk membeli-belah runcit. Sistem beli-belah runcit telah menjadi pilihan pertama bagi ramai orang, dan salah satu ciri pentingnya ialah sistem mata keahlian. Sistem mata keahlian boleh menarik pengguna dan meningkatkan kesetiaan mereka, di samping memberikan pengguna pengalaman membeli-belah tambahan. Dalam artikel ini, kita akan membincangkan cara menggunakan PHP untuk membangunkan fungsi mata keahlian sistem beli-belah runcit. Pertama, kita perlu membuat jadual keahlian untuk menyimpan pengguna

Apakah kaedah untuk melaksanakan fungsi penjejakan pesanan bawa pulang sistem pesanan pembangunan PHP? Apakah kaedah untuk melaksanakan fungsi penjejakan pesanan bawa pulang sistem pesanan pembangunan PHP? Nov 01, 2023 am 08:58 AM

Dengan perniagaan bawa pulang yang berkembang pesat, restoran utama dan platform bawa pulang bersaing untuk melancarkan sistem pesanan. Fungsi penjejakan pesanan bawa pulang telah menjadi ciri yang diberi perhatian oleh kedua-dua pelanggan dan restoran. Jadi, bagaimanakah kita melaksanakan fungsi penjejakan pesanan bawa pulang dalam sistem pesanan yang dibangunkan dalam PHP? 1. Reka bentuk halaman hadapan Pertama, kita perlu mereka bentuk muka surat hadapan supaya pengguna boleh menyemak status pesanan dengan mudah. Perkara berikut perlu diperhatikan dalam reka bentuk halaman hadapan: antara muka adalah mudah dan jelas, dan pengguna boleh mencari pintu masuk ke fungsi penjejakan pesanan dengan cepat. Dalam proses pengesanan pesanan

See all articles