ThinkPHP ialah rangka kerja pembangunan PHP yang sangat popular, yang mempunyai kelebihan kecekapan pembangunan yang tinggi, kos pembelajaran yang rendah dan fleksibiliti yang kuat. Untuk pasukan pembangunan yang cemerlang, ujian unit adalah cara yang diperlukan untuk memastikan kualiti kod. Artikel ini akan memperkenalkan cara menggunakan rangka kerja ThinkPHP6 untuk ujian unit untuk meningkatkan kestabilan dan kecekapan pembangunan projek.
1. Apakah itu ujian unit?
Ujian unit merujuk kepada kaedah ujian yang menyemak dan mengesahkan unit terkecil yang boleh diuji dalam perisian. Dalam pembangunan PHP, ujian unit boleh digunakan untuk mengesahkan ketepatan fungsi, kaedah dan kelas, serta ujian unit keseluruhan sistem. Melalui ujian unit, anda boleh mengurangkan kadar ralat, mempercepatkan pembangunan, meningkatkan kualiti projek dan menjimatkan masa.
2. Mengapakah ujian unit diperlukan?
3. Bagaimanakah cara menggunakan ThinkPHP6 untuk ujian unit?
Sebelum menggunakan PHPUnit untuk ujian unit, anda perlu memasang PHPUnit. Ia boleh dipasang melalui komposer seperti berikut:
composer require --dev phpunit/phpunit "^9.0"
Dalam ThinkPHP6, fail ujian disimpan dalam direktori ujian. Buat direktori Kes baharu di bawah direktori ujian Setiap fail ujian disimpan dalam direktori ini. Setiap fail ujian sepadan dengan senario ujian unit.
Sebagai contoh, kami mencipta fail UserControllerTest.php baharu untuk ujian unit bagi pengawal pengguna Kod ujian adalah seperti berikut:
<?php namespace app estcase; use PHPUnitFrameworkTestCase; use appcontrollerUser; class UserControllerTest extends TestCase { protected $userObj; protected function setUp(): void { $this->userObj = new User(); } public function testGetUserInfo() { $uid = '1'; $res = $this->userObj->getUserInfo($uid); $this->assertEquals('张三', $res['name'], '预期用户名为张三'); } public function testAddUser() { $user = [ 'name' => '李四', 'age' => '22', 'email' => 'lisi@qq.com', ]; $res = $this->userObj->addUser($user); $this->assertEquals(true, $res, '添加用户成功'); } }
Fail ujian perlu mewarisi PHPUnitFrameworkTestCase, dan setUp. () fungsi dimulakan untuk setiap kes ujian, setiap kes ujian bermula dengan ujian, dan fungsi penegasan PHPUnit boleh digunakan untuk penghakiman ujian.
Selepas melengkapkan menulis fail ujian, laksanakan arahan berikut untuk menjalankan ujian unit:
phpunit --bootstrap vendor/autoload.php tests/Case/UserControllerTest.php
Antaranya, - -bootstrap ditentukan fail autoload.php Komposer, tests/Case/UserControllerTest.php menentukan fail yang akan diuji.
Liputan ujian merujuk kepada perkadaran kod yang diliputi dalam ujian unit dan boleh disemak melalui alat semakan liputan.
Dalam ThinkPHP6, laporan liputan boleh dicetak menggunakan Xdebug dan PHPUnit. Selepas melengkapkan kes ujian, jalankan arahan berikut untuk menjana laporan liputan:
phpunit --coverage-html ./report tests/Case/UserControllerTest.php
Selepas pelaksanaan selesai, direktori laporan akan dibuat dalam direktori projek, dan fail HTML untuk mencapai liputan ujian akan dalam direktori ini.
4. Ringkasan
Melalui pengenalan artikel ini, kami telah mengetahui apakah ujian unit, mengapa ujian unit diperlukan dan cara menggunakan ThinkPHP6 untuk ujian unit. Ujian unit boleh membantu kami meningkatkan kualiti dan kecekapan kod, dan meningkatkan kebolehselenggaraan dan kebolehbacaan kod. Semasa proses pembangunan, kita harus sentiasa memberi perhatian kepada ujian unit kod, menemui masalah dalam masa, dan membuat pembetulan dan penambahbaikan.
Atas ialah kandungan terperinci Laksanakan ujian unit dengan ThinkPHP6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!