Rumah > pembangunan bahagian belakang > tutorial php > phpmaster | Bermula dengan phpunit

phpmaster | Bermula dengan phpunit

Christopher Nolan
Lepaskan: 2025-03-02 08:33:15
asal
483 orang telah melayarinya

phpmaster | Getting Started with PHPUnit

Tutorial ini sudah lapuk. Untuk pengenalan semasa ke phpunit, sila rujuk kepada panduan terkini kami yang diterbitkan baru -baru ini.


Mengecualikan ujian laman web adalah penting untuk pembangunan yang cekap. Ujian unit menyelaraskan proses ini, menghalang pepijat yang diperkenalkan oleh kemas kini kod. Artikel ini memberikan pemahaman asas mengenai phpunit, membimbing anda melalui ujian unit pertama anda.

Sebelum memulakan, pastikan phpUnit dipasang. Arahan boleh didapati dalam manual phpunit di

https://www.php.cn/link/991c0955da231335e4864d3389698fd5 .

Membuat Ujian Pertama Anda

kita akan bermula dengan kelas PHP yang mudah yang mewakili pengguna:

Untuk menguji ucapan pengguna, kami membuat kelas ujian,
<?php
class User {
    protected $name;

    public function getName() {
        return $this->name;
    }

    public function setName($name) {
        $this->name = $name;
    }

    public function talk() {
        return "Hello world!";
    }
}
Salin selepas log masuk
. Nama kelas ujian umumnya mencerminkan kelas yang diuji. Kelas ujian termasuk kelas yang diuji dan autoloading phpunit:

UserTest

Setiap ujian adalah kaedah dalam kelas ini. Kami menggunakan
<?php
require_once "PHPUnit/Autoload.php";
require_once "User.php";

class UserTest extends PHPUnit_Framework_TestCase {
}
Salin selepas log masuk
untuk mengesahkan ucapan:

assertEquals()

<?php
...
class UserTest extends PHPUnit_Framework_TestCase {
    public function testTalk() {
        $user = new User();
        $expected = "Hello world!";
        $actual = $user->talk();
        $this->assertEquals($expected, $actual);
    }
}
Salin selepas log masuk
Menggunakan lekapan phpUnit

berulang kali menubuhkan objek dalam setiap kaedah ujian tidak cekap. Lekapan phpunit menubuhkan keadaan sebelum setiap ujian dan menetapkan semula selepas itu. Kami menimpa

untuk membuat dan memulakan pengguna:

setUp()

<?php
...
class UserTest extends PHPUnit_Framework_TestCase {
    protected $user;

    protected function setUp() {
        $this->user = new User();
        $this->user->setName("Tom");
    }
}
Salin selepas log masuk
Undur pengguna selepas setiap ujian:

tearDown()

sekarang,
<?php
...
class UserTest extends PHPUnit_Framework_TestCase {
    ...
    protected function tearDown() {
        unset($this->user);
    }
}
Salin selepas log masuk
memudahkan:

testTalk()

<?php
...
class UserTest extends PHPUnit_Framework_TestCase {
    ...
    public function testTalk() {
        $expected = "Hello world!";
        $actual = $this->user->talk();
        $this->assertEquals($expected, $actual);
    }
}
Salin selepas log masuk
Menjalankan ujian anda

Jalankan ujian dari terminal menggunakan

. A "." Menunjukkan ujian yang berjaya, sementara "F" menandakan kegagalan. Watak lain mewakili kesilapan, ujian yang dilangkau, atau ujian tidak lengkap.

phpunit

Kegagalan pengendalian ujian

Mengubah kelas

untuk mengembalikan "blubb" dan bukannya "Hello World!" akan menyebabkan ujian gagal, memberikan maklumat ralat terperinci.

User

Kesimpulan

Pengenalan ini menunjukkan kesederhanaan phpunit. Meneroka keupayaannya selanjutnya; Eksperimen, belajar dari kesilapan, dan berunding dengan Manual PHPUNIT untuk teknik lanjutan dan kaedah penegasan. Kod yang disediakan (tersedia di GitHub) menggunakan komposer untuk pengurusan ketergantungan; Pernyataan

hendaklah memanggil

. Jalankan ujian dari direktori require menggunakan vendor/autoload.php. tests ../vendor/bin/phpunit UnitTest UserTest.php

imej melalui Archipoch / Shutterstock

Atas ialah kandungan terperinci phpmaster | Bermula dengan phpunit. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan