PHPUnit是PHP主流单元测试框架,用于验证代码逻辑和防止意外问题;推荐用Composer项目级安装,编写以Test结尾的测试类并使用assertEquals等断言进行验证。

PHPUnit 是 PHP 最主流的单元测试框架,用来验证代码逻辑是否正确、防止修改引发意外问题。它不难上手,关键是写可测的代码 + 写有针对性的测试用例。
安装 PHPUnit
推荐用 Composer 全局或项目级安装:
- 项目内安装(更推荐):composer require –dev phpunit/phpunit
- 安装后,测试命令变成:./vendor/bin/phpunit(Linux/macOS)或 vendor/bin/phpunit(Windows)
- 可选:加 –with-phpunit 或配置 phpunit.xml 指定测试目录、引导文件等
写一个简单测试类
假设你有一个 Calculator.php,含加法方法:
class Calculator {
public function add($a, $b) {
return $a + $b;
}
}
登录后复制
对应测试文件 CalculatorTest.php(命名以 Test 结尾,放在 tests/ 目录下):
立即学习“PHP免费学习笔记(深入)”;
MixPHP3.0.27

12
MixPHP 是一个 PHP 命令行模式开发框架;基于 Vega 驱动的 HTTP 可以同时支持 Swoole、WorkerMan、FPM、CLI-Server 生态,并且可以无缝切换;V3 是一个高度解耦的版本,整体代码基于多个独立的模块构建,即便用户不使用我们的脚手架,也可以使用这些独立模块,并且全部模块都支持原生开发。例如:你可以只使用 mix/vega 来搭配 laravel orm 使用

12
use PHPUnit/Framework/TestCase;
class CalculatorTest extends TestCase
{
public function testAddReturnsCorrectSum()
{
$calc = new Calculator();
$this->assertEquals(5, $calc->add(2, 3));
$this->assertEquals(0, $calc->add(-1, 1));
}
}
登录后复制
说明:TestCase 是基类,assertEquals 是常用断言,失败时会清晰报错。
常用断言和技巧
不必死记,从最常用的开始用起:
- $this->assertTrue($condition) —— 判断布尔表达式为真
- $this->assertNull($value) —— 检查是否为 null
- $this->assertSame(1, $result) —— 严格比较(类型+值),比 assertEquals 更精确
- $this->expectException(/InvalidArgumentException::class) —— 测试是否抛出指定异常
- 用 @dataProvider 注解可复用同一测试逻辑跑多组数据
运行与查看结果
在项目根目录执行:
- ./vendor/bin/phpunit tests/ —— 运行整个 tests 目录
- ./vendor/bin/phpunit tests/CalculatorTest.php —— 只跑某个测试文件
- 成功显示 . (点),失败是 F,错误是 E,带详细堆栈和期望/实际值对比
- 加 –verbose 或 –debug 查看更详细过程
基本上就这些。不用一步到位写全量测试,先从核心函数、边界情况(空输入、负数、异常流)开始覆盖,习惯就自然了。
以上就是php中PHPUnit框架如何使用?的详细内容,更多请关注php中文网其它相关文章!
相关标签:
