Skip to content

New: matched coverage for the test that owns the file

Variation 01 / Ledger

Coverage, reconciled file by file.

Parity turns every source file and its belonging test into a reviewable ledger. Global coverage can pass while ownership is weak; matched coverage shows whether the right test covered the right file.

parity checkServices
SourceBelonging testMatched
InvoiceTotal.phpInvoiceTotalTest.php91%
Slugger.phpSluggerTest.php100%
CheckoutGateway.phpCheckoutGatewayTest.php18%

Fails because the file’s own test only covers 18%, even though project coverage is 88%.

Works after your tests runPHPUnit XMLParity JSONClover XMLCobertura XMLJSON output
01Map

Declare source and test folders in parity.yaml.

02Attribute

Read coverage from Parity JSON, PHPUnit XML, Clover, or Cobertura.

03Enforce

Fail CI on missing tests, weak ownership, or low matched coverage.

Audit trail

Every row explains what a reviewer should do next.

Instead of sending a contributor to a global coverage dashboard, Parity keeps the conversation local: the source file, the test that should own it, the policy it failed, and the measured matched coverage.

Sourceapp/Services/CheckoutGateway.phpThe application file under review.
Ownertests/Unit/Services/CheckoutGatewayTest.phpThe expected belonging test path.
Rulematched-coverage min 70The policy that decides release readiness.
ActionAdd focused gateway scenariosFix local coverage, not unrelated project coverage.
Global coverage88%

Looks safe when all tests are blended together.

Matched coverage18%

Shows the belonging test barely exercised its file.

Release decisionBlocked

Prevents accidental coverage from hiding weak ownership.

Best when the homepage needs to explain the category in one screen.

The ledger style makes Parity feel like infrastructure: precise, auditable, and easy to hand to engineering leadership or DevOps. It should be the base direction if the homepage needs to be credible before it is playful.