PHP前端开发

PHPUnit 中的 PHP 函数代码覆盖率

百变鹏仔 2天前 #PHP
文章标签 覆盖率

phpunit 中的 php 函数代码覆盖率可以通过以下步骤实现:安装 phpunit:在项目中安装 phpunit。集成 phpunit:更新 composer.json 文件加入 psr-4 自动加载。创建测试类:在 tests/ 目录下创建测试类,包含要测试的函数。启用代码覆盖率:在 phpunit.xml 文件中添加配置,生成覆盖率报告。执行代码覆盖率测试:运行 phpunit 命令,生成 html 覆盖率报告。

PHPUnit 中的 PHP 函数代码覆盖率

简介
代码覆盖率是衡量测试覆盖代码库中多少代码行的度量。在 PHP 中,使用 PHPUnit 可以轻松实现 PHP 函数的代码覆盖率。

安装 PHPUnit
在项目中安装 PHPUnit:

立即学习“PHP免费学习笔记(深入)”;

composer require --dev phpunit/phpunit

集成 PHPUnit
更新 composer.json 文件:

{  "autoload": {    "psr-4": {      "Tests\": "tests/"    }  }}

创建测试类
在 tests/ 目录下创建测试类:

<?php use PHPUnitFrameworkTestCase;class FunctionCoverageTest extends TestCase{    public function testAdd()    {        // ...    }    public function testSubtract()    {        // ...    }}

启用代码覆盖率
要生成代码覆盖率报告,请在 phpunit.xml 文件中添加以下代码:

<configuration><logging><log type="coverage-html" target="build/coverage"></log></logging></configuration>

执行代码覆盖率测试
运行以下命令生成代码覆盖率报告:

vendor/bin/phpunit --coverage-html=build/coverage

实战案例
以下是一个示例函数和相应的单元测试:

函数

function add(int $a, int $b): int{  return $a + $b;}

单元测试

use PHPUnitFrameworkTestCase;class FunctionCoverageTest extends TestCase{  public function testAdd()  {    $this-&gt;assertEquals(5, add(2, 3));    $this-&gt;assertEquals(4, add(-1, 5));  }}

运行 PHPUnit 后,会在 build/coverage/index.html 中生成一个 HTML 代码覆盖率报告。