登录
首页 >  文章 >  php教程

PHPUnit使用教程与实战技巧

时间:2025-12-13 23:51:58 191浏览 收藏

推广推荐
免费电影APP ➜
支持 PC / 移动端,安全直达

一分耕耘,一分收获!既然打开了这篇文章《PHPUnit使用教程及实战指南》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

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

php中PHPUnit框架如何使用?

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/ 目录下):

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 查看更详细过程

基本上就这些。不用一步到位写全量测试,先从核心函数、边界情况(空输入、负数、异常流)开始覆盖,习惯就自然了。

今天关于《PHPUnit使用教程与实战技巧》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>