Sebelum memulakan, pastikan phpUnit dipasang. Arahan boleh didapati dalam manual phpunit di
https://www.php.cn/link/991c0955da231335e4864d3389698fd5 .
Membuat Ujian Pertama Andakita 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!"; } }
UserTest
<?php require_once "PHPUnit/Autoload.php"; require_once "User.php"; class UserTest extends PHPUnit_Framework_TestCase { }
assertEquals()
<?php ... class UserTest extends PHPUnit_Framework_TestCase { public function testTalk() { $user = new User(); $expected = "Hello world!"; $actual = $user->talk(); $this->assertEquals($expected, $actual); } }
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"); } }
tearDown()
<?php ... class UserTest extends PHPUnit_Framework_TestCase { ... protected function tearDown() { unset($this->user); } }
testTalk()
<?php ... class UserTest extends PHPUnit_Framework_TestCase { ... public function testTalk() { $expected = "Hello world!"; $actual = $this->user->talk(); $this->assertEquals($expected, $actual); } }
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
Mengubah kelas
untuk mengembalikan "blubb" dan bukannya "Hello World!" akan menyebabkan ujian gagal, memberikan maklumat ralat terperinci.
User
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
Atas ialah kandungan terperinci phpmaster | Bermula dengan phpunit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!