Pest 可通过 Composer 安装并兼容 Laravel 与纯 PHP 项目:Laravel 中执行 composer require pestphp/pest --dev --with-all-dependencies 后 vendor/bin/pest --init;非 Laravel 项目则先 composer require pestphp/pest --dev 再 vendor/bin/pest --init 并选 Plain PHP 模式,生成 tests/Pest.php 和 phpunit.xml;测试文件置于 tests/ 目录、以 Test.php 结尾,使用 it() 或 describe() 编写函数式测试,核心断言为 expect();所有命令均通过 vendor/bin/pest 执行,支持运行全部/单个/过滤测试、彩色详细输出及覆盖率报告;Pest 与 PHPUnit 共存且可逐步迁移,复用 phpunit.xml 配置。

直接用 Composer 安装 Pest 很简单,但要真正用起来,得配合 Laravel 项目结构或手动配置测试环境,否则会报错或无法运行。
安装 Pest(支持 Laravel 和纯 PHP 项目)
Pest 推荐与 Laravel 一起使用,也支持独立 PHP 项目。安装前确保已安装 Composer 和 PHP 8.0+。
- 在 Laravel 项目中:运行 composer require pestphp/pest --dev --with-all-dependencies,然后执行 vendor/bin/pest --init 初始化配置
- 在非 Laravel 的 PHP 项目中:先运行 composer require pestphp/pest --dev,再手动初始化:vendor/bin/pest --init,选择 "Plain PHP" 模式
- 初始化后会生成 tests/Pest.php(入口文件)和 phpunit.xml(Pest 兼容 PHPUnit 配置)
编写第一个 Pest 测试文件
Pest 使用函数式语法,比 PHPUnit 更简洁。测试文件默认放在 tests/ 目录下,以 Test.php 结尾(如 ExampleTest.php)。
- 基础写法示例:
it('adds two numbers', function () {
expect(2 + 3)->toBe(5);
}); - expect() 是 Pest 的核心断言函数,自动启用链式断言(无需 use 语句)
- 支持分组测试:describe('Math operations', function () { it('adds correctly', ...); });
运行测试和常用命令
所有命令都通过 vendor/bin/pest 执行,它其实是 PHPUnit 的轻量封装。
标签: php laravel bootstrap composer 栈 ai
还木有评论哦,快来抢沙发吧~