Skip to content

Better Unit Tests - Measure coverage once in CI, and fail below 100% - #3

Merged
ctrlaltca merged 1 commit into
pradosoft:masterfrom
belisoful:debugging-coverage
Sep 16, 2026
Merged

ctrlaltca merged 1 commit into
pradosoft:masterfrom
belisoful:debugging-coverage

Conversation

@belisoful

Copy link
Copy Markdown
Member

Every job in the matrix measured coverage and printed it, and none failed on it, so the same summary was computed three times per push and a change leaving code untested still passed.

Measure it on PHP 8.3 alone, and run tests/coverage-gate.php after the suite. PHPUnit reports coverage without enforcing it, so the gate reads the clover report and fails the job when the lines or methods of src fall below 100%. The 8.1 and 8.2 jobs run the unit tests without a coverage driver.

phpunit.xml no longer reports coverage on every run. composer coverage prints the summary on request, and composer coverage-gate runs what CI runs.

Every job in the matrix measured coverage and printed it, and none failed on
it, so the same summary was computed three times per push and a change leaving
code untested still passed.

Measure it on PHP 8.3 alone, and run tests/coverage-gate.php after the suite.
PHPUnit reports coverage without enforcing it, so the gate reads the clover
report and fails the job when the lines or methods of src fall below 100%. The
8.1 and 8.2 jobs run the unit tests without a coverage driver.

phpunit.xml no longer reports coverage on every run. composer coverage prints
the summary on request, and composer coverage-gate runs what CI runs.
@ctrlaltca
ctrlaltca merged commit b0773d3 into pradosoft:master Sep 16, 2026
3 checks passed
@belisoful
belisoful deleted the debugging-coverage branch September 17, 2026 07:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants