php中PHPUnit框架如何使用?

冷漠man
发布: 2025-12-09 09:14:58
原创
408人浏览过
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/ 目录下):

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

MixPHP3.0.27
MixPHP3.0.27

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

MixPHP3.0.27 12
查看详情 MixPHP3.0.27
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中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号