外掛
在這一部分,我們將討論我們認可的官方和社群開發外掛。外掛主要提供命名空間函式、主控台指令、自訂預期,以及額外的命令列選項來擴充預設的 Pest 體驗。
如果您是外掛開發人員,請參閱我們的 建立外掛文件,以取得更多關於如何建立 Pest 外掛的資訊。
下列外掛由 Pest 團隊維護
Faker
原始碼: github.com/pestphp/pest-plugin-faker
要開始使用 Pest 的 Faker 外掛,您需要透過 Composer 需求外掛。
1composer require pestphp/pest-plugin-faker --dev
安裝外掛後,您可以利用命名空間的 fake
函式為您的測試產生假資料。
1use function Pest\Faker\fake;2 3it('generates a name', function () {4 $name = fake()->name; // random name...5 6 //7});
您也可以指定 fake()
函式應使用的「地區設定」,方法是將地區設定提供給函式。
1use function Pest\Faker\fake;2 3it('generates a portuguese name', function () {4 $name = fake('pt_PT')->name; // Nuno Maduro5 6 //7});
要更加了解 Faker,包括它提供的 API 的完整詳細資訊,請參閱 其官方文件。
Laravel
原始碼: github.com/pestphp/pest-plugin-laravel
要開始使用 Pest 的 Laravel 外掛,您需要透過 Composer 需求這個外掛。
1composer require pestphp/pest-plugin-laravel --dev
這個外掛會新增額外的 Artisan 指令和函式到預設的 Pest 安裝。例如,要在 tests/Feature
目錄中產生新的測試,您現在可以使用 pest:test
Artisan 指令。
1php artisan pest:test UsersTest
您可以在建立測試時提供 --unit
選項,以將測試放入 tests/Unit
目錄中。
1php artisan pest:test UsersTest --unit
執行 pest:dataset
Artisan 指令會在 tests/Datasets
目錄中建立新的資料集。
1php artisan pest:dataset Emails
正如您所知,Laravel 提供了各種斷言,您可以在功能測試中加以利用。在使用 Pest 的 Laravel 外掛時,您可以像平常一樣存取所有這些斷言。
1it('has a welcome page', function () {2 $this->get('/')->assertStatus(200);3});
此外,在這個外掛的協助下,您在使用 actingAs
、get
、post
和 delete
等命名空間函式時,可以略過 $this
變數。
1use function Pest\Laravel\{get};2 3it('has a welcome page', function () {4 get('/')->assertStatus(200);5 // same as $this->get('/')...6});
為了說明使用另一個範例的這個方便功能,我們可以撰寫一個測試,假裝一個經過驗證的使用者存取受限的儀表板頁面。
1use App\Models\User;2use function Pest\Laravel\{actingAs};3 4test('authenticated user can access the dashboard', function () {5 $user = User::factory()->create();6 7 actingAs($user)->get('/dashboard')8 ->assertStatus(200);9});
如同您所預期的一樣,所有先前可以透過 $this->
存取的斷言都可用作為命名空間函式。
1use function Pest\Laravel\{actingAs, get, post, delete, ...};
您可以在 Laravel 網站上找到完整的測試文件說明:laravel.com/docs/11.x/testing。
Livewire
原始碼:github.com/pestphp/pest-plugin-livewire
若要安裝 Pest 的 Livewire 外掛,您需要透過 Composer 載入外掛。
1composer require pestphp/pest-plugin-livewire --dev
安裝外掛後,可以使用 livewire
命名空間函式來存取您的 Livewire 組件。
1use function Pest\Livewire\livewire; 2 3it('can be incremented', function () { 4 livewire(Counter::class) 5 ->call('increment') 6 ->assertSee(1); 7}); 8 9it('can be decremented', function () {10 livewire(Counter::class)11 ->call('decrement')12 ->assertSee(-1);13});
Watch
原始碼:github.com/pestphp/pest-plugin-watch
若要安裝 Pest 的「watch」外掛,您需要透過 Composer 載入外掛。
1composer require pestphp/pest-plugin-watch --dev
同時安裝 fswatch
,讓 Pest 可以監控檔案變更。
安裝外掛與 fswatch
後,您就可以在執行 Pest 時使用 --watch
選項。這個選項會指示 Pest 監控您的應用程式,並且在您變更特定目錄清單內的檔案時自動重新執行您的測試。
1pest --watch
預設情況下,外掛會監控下列目錄。
1tests/2app/3src/
若要自訂監控目錄,請提供以逗號分隔的目錄清單(相對於您的應用程式根目錄)給 --watch
標記。
1pest --watch=app,routes,tests
在本節中,我們了解到外掛可以如何提升您的 Pest 體驗。接著,讓我們看看您可以如何使用 Pest 來管理團隊的工作和責任:團隊管理