Dengan pembangunan berterusan pembangunan perisian, ujian telah menjadi bahagian penting dalam proses pembangunan. Semasa menguji, ujian unit ialah cara ujian yang sangat penting. Dalam PHP, menggunakan ujian unit secara berkesan boleh mengurangkan ralat dalam kod dan meningkatkan kualiti kod. Artikel ini akan memperkenalkan anda kepada cara menguji unit PHP.
1. Apakah itu ujian unit
Ujian unit ialah ujian yang dilakukan pada modul program (merujuk kepada kelas atau kaedah dalam PHP) untuk menyemak sama ada setiap modul boleh melengkapkan fungsi yang dijangkakan dengan betul. Ujian unit boleh membantu pembangun mencari masalah dalam kod dengan cepat dan tepat, menghalang masalah daripada memberi kesan buruk kepada ujian penyepaduan kemudian atau persekitaran pengeluaran.
2. Faedah ujian unit
1 Meningkatkan kualiti kod
Ujian unit boleh membantu pembangun menemui masalah dalam kod dan membetulkannya tepat pada masanya untuk mengelakkan penurunan kod. kualiti.
2. Kurangkan masa penyahpepijatan
Ujian unit boleh membantu pembangun mencari masalah dengan cepat, mengelakkan masalah ditemui kemudian dan mengurangkan masa penyahpepijatan.
3. Optimumkan reka bentuk kod
Ujian unit boleh membantu pembangun mengoptimumkan reka bentuk kod, dengan itu meningkatkan kebolehselenggaraan dan kebolehskalaan kod.
3. Pengenalan kepada PHPUnit
PHPUnit ialah salah satu rangka kerja ujian unit yang paling biasa digunakan dalam PHP Ia menyediakan satu siri kaedah penegasan yang boleh menandakan dan menilai keputusan ujian. PHP secara rasmi mengesyorkan menggunakan PHPUnit untuk ujian unit, jadi kandungan berikut akan diterangkan menggunakan PHPUnit sebagai contoh.
4. Pemasangan PHPUnit
Memasang PHPUnit boleh dipasang melalui Composer, buka baris arahan dan jalankan arahan berikut:
composer require --dev phpunit/phpunit
5
Dalam PHPUnit, kes ujian merujuk kepada kelas atau kaedah untuk diuji. Kita perlu mencipta kelas kes ujian, menulis kaedah ujian dalam kelas ini dan mengujinya. Berikut ialah contoh kes ujian mudah:<?php use PHPUnitFrameworkTestCase; class MyTest extends TestCase { public function testAddition() { $result = 1 + 2; $this->assertEquals(3, $result); } }
vendor/bin/phpunit
PHPUnit x.y.z by Sebastian Bergmann and contributors. . 1 / 1 (100%) Time: 100 ms, Memory: 2.00 MB OK (1 test, 1 assertion)
<?php use PHPUnitFrameworkTestCase; class MyTest extends TestCase { /** * @dataProvider additionProvider */ public function testAddition($a, $b, $expected) { $result = $a + $b; $this->assertEquals($expected, $result); } public function additionProvider() { return [ [1, 2, 3], [-1, 1, 0], [3, 5, 8], [2, -2, 0], ]; } }
<?php use PHPUnitFrameworkTestCase; class MyTest extends TestCase { public function testMock() { $mock = $this->getMockBuilder('MyClass') ->setMethods(['myMethod']) ->getMock(); $mock->expects($this->any()) ->method('myMethod') ->willReturn('myValue'); $this->assertEquals('myValue', $mock->myMethod()); } }
Atas ialah kandungan terperinci Bagaimana untuk menguji unit PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!