PHPUnit 中的 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->assertEquals(5, add(2, 3)); $this->assertEquals(4, add(-1, 5)); }}
运行 PHPUnit 后,会在 build/coverage/index.html 中生成一个 HTML 代码覆盖率报告。