| Install | |
|---|---|
composer require milroyfraser/pest-plugin-gwt |
|
| Latest Version: | v2.0.0 |
| PHP: | ^8.2 |
A simple API allows you to structure your tests focused on the behaviour. Given-When-Then separation makes the test easier to understand at a glance.
composer require milroyfraser/pest-plugin-gwt --dev
use App\Exceptions\BlockedUserException;
use App\Models\User;
use function Pest\Gwt\scenario;
use function Pest\Laravel\assertDatabaseHas;
scenario('activate user')
->given(fn() => User::factory()->create())
->when(fn(User $user) => $user->activate())
->then(fn(User $user) => assertDatabaseHas('users', [
'id' => $user->id,
'activated' => true,
]));
scenario('activate blocked user')
->given(fn() => User::factory()->blocked()->create())
->when(fn(User $user) => $user->activate())
->throws(BlockedUserException::class);
Given a state
Given method accepts a Closure. This is where we Arrange application state. The return values will become argument/s of the when closure.
When I do something
When method accepts a Closure. This is where we Act (perform) the operation. The return values will become argument/s of the then closure.
Then I expect an outcome
Then method accepts a Closure. This is where we Assert the outcome.
If you want to start testing your application with Pest, visit the main Pest Repository.
Pest was created by Nuno Maduro under the Sponsorware license. It got open-sourced and is now licensed under the MIT license.