Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan ujian unit dan liputan kod dalam projek PHP?

Bagaimana untuk melaksanakan ujian unit dan liputan kod dalam projek PHP?

王林
王林asal
2023-11-02 18:13:53715semak imbas

Bagaimana untuk melaksanakan ujian unit dan liputan kod dalam projek PHP?

Bagaimana untuk melaksanakan ujian unit dan liputan kod dalam projek PHP?

Pengenalan
Dalam proses pembangunan perisian, ujian unit adalah pautan yang sangat penting. Dengan menguji unit kod, kualiti kod boleh dipertingkatkan, kemungkinan ralat boleh dikurangkan, dan kestabilan dan kebolehpercayaan program dapat dipastikan. Liputan kod ialah ukuran ujian Ia boleh memberitahu kami jumlah kod yang dilindungi oleh ujian dan sama ada terdapat sebarang kes ujian yang hilang. Artikel ini akan memperkenalkan cara melaksanakan ujian unit dan liputan kod dalam projek PHP.

1. Pasang PHPUnit dan sambungan Xdebug
PHPUnit ialah rangka kerja ujian PHP yang popular yang menyokong pelbagai jenis ujian dan penegasan serta boleh membantu kami menulis dan menjalankan ujian unit. Sebelum kita mula, kita perlu memasang sambungan PHPUnit dan Xdebug.

  1. Pasang PHPUnit:
    Boleh dipasang melalui Composer, jalankan arahan berikut:

    composer require --dev phpunit/phpunit
  2. Pasang sambungan Xdebug:
    Xdebug ialah sambungan penyahpepijatan PHP yang berkuasa yang menyediakan fungsi pelaporan liputan kod. Anda boleh memasang sambungan Xdebug melalui arahan berikut:

    pecl install xdebug

    Selepas pemasangan selesai, anda perlu mendayakan sambungan Xdebug dalam fail php.ini dan menambah konfigurasi berikut:

    zend_extension=path/to/xdebug.so

    Mulakan semula PHP-FPM atau pelayan web untuk menjadikan konfigurasi berkuat kuasa.

2. Tulis kes ujian unit
Sebelum melaksanakan ujian unit, kita perlu menulis kes ujian, iaitu kod ujian untuk satu atau lebih fungsi, kaedah atau kelas. Kes ujian harus meliputi pelbagai senario dan keadaan sempadan untuk memastikan ketepatan kod.

Berikut ialah contoh mudah Kami menulis kelas Kalkulator, yang mengandungi dua kaedah tambah dan tolak, dan kemudian tulis ujian yang sepadan. Kes guna. Calculator,其中包含两个方法addsubtract,然后编写对应的测试用例。

class CalculatorTest extends PHPUnitFrameworkTestCase
{
    public function testAdd()
    {
        $calculator = new Calculator();
        $result = $calculator->add(2, 3);
        $this->assertEquals(5, $result);
    }

    public function testSubtract()
    {
        $calculator = new Calculator();
        $result = $calculator->subtract(5, 3);
        $this->assertEquals(2, $result);
    }
}

三、运行单元测试
编写好测试用例后,我们可以使用PHPUnit来运行这些测试。

  1. 在项目根目录下,创建一个名为phpunit.xml的配置文件,内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <phpunit bootstrap="vendor/autoload.php">
        <testsuites>
            <testsuite name="My Test Suite">
                <directory>tests</directory>
            </testsuite>
        </testsuites>
    </phpunit>
  2. 在终端中,进入项目根目录,运行以下命令:

    vendor/bin/phpunit

    PHPUnit将自动查找并执行tests目录下的测试用例文件,输出测试结果。

四、生成代码覆盖率报告
在运行单元测试的过程中,我们可以通过Xdebug扩展生成代码覆盖率报告,以了解测试覆盖了多少代码以及是否有遗漏的地方。

  1. phpunit.xml配置文件中添加如下代码,启用代码覆盖率:

    <coverage processUncoveredFiles="true">
        <include>
            <directory>src</directory>
        </include>
    </coverage>
  2. 在终端中,重新运行单元测试命令:

    vendor/bin/phpunit --coverage-html report/

    执行完毕后,将在项目根目录下生成一个名为reportrrreee

    3. Jalankan ujian unit
  3. Selepas menulis kes ujian, kita boleh menggunakan PHPUnit untuk menjalankan ujian ini.


Dalam direktori akar projek, buat fail konfigurasi bernama phpunit.xml dengan kandungan berikut: 🎜rrreee🎜🎜🎜Dalam terminal, masukkan direktori akar projek dan jalankan arahan berikut: 🎜 rrreee🎜PHPUnit akan mencari dan melaksanakan fail kes ujian secara automatik dalam direktori ujian dan mengeluarkan keputusan ujian. 🎜🎜🎜🎜4. Hasilkan laporan liputan kod🎜Semasa proses menjalankan ujian unit, kami boleh menjana laporan liputan kod melalui sambungan Xdebug untuk memahami jumlah kod yang diliputi oleh ujian dan sama ada terdapat kawasan yang terlepas. 🎜🎜🎜🎜Tambah kod berikut dalam fail konfigurasi phpunit.xml untuk mendayakan liputan kod: 🎜rrreee🎜🎜🎜Di terminal, jalankan semula arahan ujian unit: 🎜rrreee🎜Selepas pelaksanaan, Hasilkan folder bernama report dalam direktori akar projek, yang mengandungi fail HTML laporan liputan kod. Buka fail HTML melalui penyemak imbas untuk melihat liputan kod. 🎜🎜🎜🎜Kesimpulan🎜Dengan menggunakan sambungan PHPUnit dan Xdebug, kami boleh melaksanakan ujian unit dan statistik liputan kod dengan mudah dalam projek PHP. Ini membantu meningkatkan kualiti dan kestabilan kod serta mengurangkan kemungkinan ralat. Saya harap artikel ini akan membantu anda dan membolehkan anda membangunkan dan menguji projek PHP dengan lebih baik. 🎜

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan ujian unit dan liputan kod dalam projek PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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