This is a new feature in the Pest 3 version.
Mutation testing makes small changes (mutations) to your code and then runs the tests to check if they are still passing. It's a great way to identify weaknesses in your test suite.
Notice: this feature requires XDebug 3.0+ or PCOV.
Running Mutation Test
To start mutation testing, first, you must specify which part you are testing using the covers() method in the test.
For example, Laravel Breeze comes with some Pest tests. Let's check the registration testing.
tests/Feature/Auth/RegistrationTest.php:
covers(\App\Http\Controllers\Auth\RegisteredUserController::class); test('registration screen can be rendered', function () { $response = $this->get('/register'); $response->assertStatus(200);}); test('new users can register', function () { $response = $this->post('/register', [ 'name' => 'Test User', 'password' => 'password', 'password_confirmation' => 'password', ]); $this->assertAuthenticated(); $response->assertRedirect(route('dashboard', absolute: false));});
Now, we can run the test suite with mutation testing.
php artisan test --mutate
We can see that the mutation shows 18 mutations untested, and the score is 28%.

Adding One Mutation
One of the untested cases is about the Event. And if we look...
Hi,
i have followed the steps in this tutorial, fresh laravel installation with laravel Breeze. Then i added the line
in tests/Feature/Auth/RegistrationTest.php.
But my results are the following everytime:
What do i wrong?
Greets
LogicKill
Have you installed XDebug or PCOV? Without them, it should not work
yes i have installed XDebug version 3.4.1
Can you check if it's enabled? Maybe it got installed, but it's still not enabled :)
You can do that in a few ways:
https://stackoverflow.com/a/22698209/21185594
yes xdebug is enabled.
and the following to:
The coverage from the tests with code-coverage is working with the reports in html.
I have tried this - and it seems to be working, so not sure what could be wrong here, sorry :(
okay, thanks for your help. I will look if i can find die Problem.
I have installed XAMPP with XDEBUG new, but the Problem is still there. Wenn i have not the line xdebug.mode=coverage in PHP.ini, the test failed.
The Mutation don't work at all.