Ujian unit PHP digunakan untuk mengesahkan kefungsian fungsi atau modul bebas, menggunakan rangka kerja PHPUnit. Ia termasuk langkah berikut: pasang PHPUnit, buat kelas ujian yang berakhir dengan Ujian dan warisi daripada PHPUnit_Framework_TestCase, tandakan kaedah ujian anotasi @test, gunakan kaedah penegasan untuk mengesahkan keputusan (seperti assertEquals(), assertTrue()), dan jalankan ujian (phpunit).
Pengujian Unit Fungsi PHP
Ujian unit ialah ujian fungsi bebas atau modul kecil untuk memastikan ia berfungsi seperti yang diharapkan. Ujian unit dalam PHP biasanya dilakukan menggunakan rangka kerja ujian PHPUnit.
Pasang PHPUnit
Pasang PHPUnit secara global melalui Komposer:
composer global require phpunit/phpunit
Menggunakan PHPUnit
Untuk mencipta kes ujian, mula-mula buat kelas yang berakhir dengan Dincode>TestPUnit_F
. Kemudian, gunakan anotasi @test
untuk menandakan kaedah ujian: Test
结尾的类,并继承自 PHPUnit_Framework_TestCase
。然后,使用 @test
注解来标记测试方法:
class MyFunctionTest extends PHPUnit_Framework_TestCase { @test public function testMyFunction() { // 编写要测试的代码 } }
断言方法
PHPUnit 提供了多种断言方法,用于验证代码的预期结果:
assertEquals($expected, $actual)
验证 $expected 和 $actual 是否相等。assertTrue($condition)
验证 $condition 为 true。assertFalse($condition)
验证 $condition 为 false。实战案例
考虑一个返回给定字符串长度的函数 strLength
:
function strLength($str) { return strlen($str); }
我们可以编写一个单元测试来验证该函数:
class StrLengthTest extends PHPUnit_Framework_TestCase { @test public function testStrLength() { $this->assertEquals(3, strLength('foo')); $this->assertEquals(0, strLength('')); } }
运行测试
要运行测试,请使用以下命令:
phpunit
这将运行所有以Test
结尾的类中的 @test
rrreee
assertEquals($expected, $actual)
Mengesahkan sama ada $expected dan $actual adalah sama. assertTrue($condition)
Mengesahkan bahawa $condition adalah benar. assertFalse($condition)
Mengesahkan bahawa $condition adalah palsu. @test
dalam kelas yang berakhir dengan Ujian
. Jika ujian lulus, mesej "OK" hijau akan dipaparkan, jika ia tidak lulus, mesej "GAGAL" merah akan dipaparkan. 🎜Atas ialah kandungan terperinci Bagaimana untuk menguji unit fungsi PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!