Code Coverage
5 min read Quiz at the end
Generate HTML/Clover coverage reports and upload to Codecov in CI pipelines.
Code Coverage
// Generate coverage report
./vendor/bin/phpunit --coverage-html=coverage/
// XML coverage
./vendor/bin/phpunit --coverage-clover=coverage.xml
// Text summary
./vendor/bin/phpunit --coverage-text
// phpunit.xml
<coverage>
<report>
<html outputDirectory="coverage"/>
<clover outputFile="coverage.xml"/>
<text outputFile="php://stdout" showOnlySummary="true"/>
</report>
<include>
<directory>src</directory>
</include>
</coverage>
// Require Xdebug or pcov
# php.ini
xdebug.mode=coverage
// Attributes to ignore
#[CoversNothing]
class HelperTest extends TestCase { }
#[CoversClass(Calculator::class)]
class CalculatorTest extends TestCase { }
Topic Quiz · 2 questions
Test your understanding before moving on
1. How do you generate an HTML coverage report?
💡 --coverage-html=coverage/ generates a browsable HTML coverage report.
2. What tool must be installed for code coverage?
💡 Xdebug (with xdebug.mode=coverage) or pcov must be installed.