Modern testing with Pest:
Basic Test
it('can create a user', function () {
$user = User::factory()->create();
expect($user)->toBeInstanceOf(User::class);
});Expectations
expect($value)->toBe('something');
expect($array)->toHaveCount(3);
expect($user->email)->toContain('@');Higher Order Tests
it('has a name')
->expect(fn() => User::factory()->create())
->name->not->toBeEmpty();Datasets
it('validates emails', function ($email, $valid) {
expect(filter_var($email, FILTER_VALIDATE_EMAIL))->toBe($valid);
})->with([
['test@example.com', true],
['invalid', false],
]);