Pest是基于PHPUnit的现代化PHP测试框架,专为Laravel优化,通过简洁语法如it()、describe()提升测试可读性与组织性,减少样板代码,支持Laravel全部测试功能,安装后可无缝集成并显著提升开发效率。

如果你正在使用 Laravel 开发项目,并希望让测试变得更简洁、更易读,Pest 是一个非常值得尝试的测试框架。它基于 PHPUnit 构建,但通过更优雅的语法和结构,极大提升了测试代码的可读性和开发效率。
Pest 是一个专为 PHP 设计的现代化测试框架,特别适合 Laravel 项目。它的语法受 JavaScript 测试框架(如 Jest)启发,采用描述性结构,让测试用例看起来更清晰自然。
Pest 并不是替代 PHPUnit,而是它的增强层。所有 PHPUnit 的功能都可以在 Pest 中使用,同时你还能获得更少的样板代码和更好的组织方式。
要在 Laravel 项目中使用 Pest,首先需要通过 Composer 安装:
composer require --dev pestphp/pest安装完成后,运行以下命令初始化 Pest:
php artisan pest:install这个命令会在 tests 目录下创建必要的结构,比如 Tests/Pest.php 入口文件,并生成示例测试。
安装后你会发现,原本的 TestCase.php 依然存在,Pest 会自动加载它,因此你可以继续使用 Laravel 提供的测试基类功能,如 HTTP 辅助方法、数据库迁移等。
Pest 使用 it() 或 test() 函数来定义测试用例,语法更接近自然语言。
例如,在 tests/Feature/ExampleTest.php 中写一个简单的路由测试:
it('has welcome page', function () { $response = $this->get('/'); $response->assertStatus(200); });也可以使用 test():
test('it shows welcome page', function () { $this->get('/')->assertStatus(200); });两者效果相同,选择你喜欢的风格即可。
Pest 完全兼容 Laravel 的测试工具集。你可以使用 $this->get、$this->post 等方法模拟请求,也可以使用数据库相关方法。
例如,测试用户登录功能:
it('can login successfully', function () { $user = \App\Models\User::factory()->create([ 'password' => bcrypt($password = 'secret'), ]); $this->post('/login', [ 'email' => $user->email, 'password' => $password, ])->assertRedirect('/dashboard'); $this->assertAuthenticated(); });这段代码创建了一个用户,提交登录表单,并验证是否跳转到 dashboard 以及用户是否已认证。
你可以使用 describe() 对测试进行逻辑分组:
describe('User Authentication', function () { it('can login', function () { // 测试登录 }); it('can logout', function () { // 测试登出 }); });对于前置操作,Pest 支持 beforeEach() 和 afterEach():
beforeEach(function () { \Illuminate\Support\Facades\Artisan::call('migrate:fresh'); }); it('has home page', function () { $this->get('/')->assertStatus(200); });使用 Artisan 命令运行测试:
php artisan test或者直接使用 Pest 二进制:
./vendor/bin/pest你还可以指定只运行某个目录或文件:
./vendor/bin/pest tests/Feature/AuthTest.php基本上就这些。Pest 让 Laravel 测试变得更愉快,减少冗余代码的同时保持强大功能。从今天开始,不妨把其中一个测试文件换成 Pest 风格,感受它的简洁与高效。
以上就是laravel Pest测试框架的入门和使用_Laravel Pest测试框架入门教程的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
 
                 
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                            Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号