从 PHPUnit 迁移

Pest 基于 PHPUnit 构建,因此从 PHPUnit 迁移到 Pest 非常简单,只需几个步骤即可完成。安装 Pest 后,您应该在项目的 "dev" 依赖项中引入 pestphp/pest-plugin-drift 包。

1composer require pestphp/pest-plugin-drift --dev

Drift 是一个简单但功能强大的插件,它可以通过运行 --drift 选项自动将您的 PHPUnit 测试转换为 Pest。

1./vendor/bin/pest --drift

通常,PHPUnit 测试看起来像这样

1<?php
2 
3namespace Tests\Unit;
4 
5use PHPUnit\Framework\TestCase;
6 
7class ExampleTest extends TestCase
8{
9 public function test_that_true_is_true(): void
10 {
11 $this->assertTrue(true);
12 }
13}

运行 --drift 后,应该看起来像这样

1test('true is true', function () {
2 expect(true)->toBeTrue();
3});

输出将包含转换过程的摘要,以及已转换文件的列表。

虽然大多数测试应该可以自动转换,并且您应该能够在没有任何问题的情况下运行它们,但在某些情况下,您可能需要手动转换一些测试。


当然,本章节仅适用于从 PHPUnit 迁移的用户。接下来,让我们了解如何为 Pest 的发展做出贡献:社区指南