-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
Coverage driver
Để generate coverage report bằng PHPUnit, cần có coverage driver:
Có 3 drivers bao gồm (ưu tiên từ trên xuống dưới):
- pcov cho PHPUnit version >= 8
php -dextension=pcov.so -dpcov.enabled=1 -dpcov.directory=src ./vendor/bin/phpunit --coverage-text
NOTE:
pcov.directory=src
, trong đósrc
là thư mục chứa source code phpdbg
phpdbg -qrr ./vendor/bin/phpunit --coverage-text
- XDebug
XDEBUG_MODE=coverage php -dzend_extension=xdebug.so ./vendor/bin/phpunit --coverage-text
NOTE: chạy trong docker container đã cài sẵn các extension pcov, xdebug
Coverage format
Có nhiều loại format cho coverage:
Code Coverage Options:
--coverage-clover <file> Generate code coverage report in Clover XML format
--coverage-crap4j <file> Generate code coverage report in Crap4J XML format
--coverage-html <dir> Generate code coverage report in HTML format
--coverage-php <file> Export PHP_CodeCoverage object to file
--coverage-text=<file> Generate code coverage report in text format [default: standard output]
--coverage-xml <dir> Generate code coverage report in PHPUnit XML format
Nhưng thông dụng nhất là --coverage-text
thường dùng trong CI hoặc xem nhanh kết quả và --coverage-html
để xem chi tiết dưới dạng web dashboard và --coverage-clover
dùng cho Sun*CI
Tasks
- Setup project: https://github.com/sun7pro/phpunit-training-coverage
- Chạy coverage với cả 3 driver và 2 format text, html
- Comment screenshot cho mỗi lần chạy (coverage text => terminal, coverage html => web page)
Metadata
Metadata
Assignees
Labels
No labels