Mutation Testing, not coverage
Line coverage only proves a line was executed. Infection changes the code under test and reports the mutations your suite still passes on — the gaps coverage cannot see.
How it works
Find the tests you are missing. Infection mutates your source code and tells you which changes your test suite fails to catch.
Adopted across the PHP ecosystem
Infection is the tool the PHP community reaches for when line coverage stops being convincing — used by frameworks, libraries and application teams to prove their tests actually assert something.
Source: packagist.org/packages/infection/infection — as of 2026-08-24