Deprecate support for #[CoversTrait]
and #[UsesTrait]
attributes
#5958
Labels
feature/code-coverage
Issues related to code coverage (but not php-code-coverage)
feature/metadata/attributes
type/backward-compatibility
Something will be/is intentionally broken
Milestone
The
#[CoversTrait]
and#[UsesTrait]
attributes were introduced in PHPUnit 11.2 while/after working on #5798.Had I been aware at the time that
#[CoversClass]
and#[UsesClass]
also target the traits used by the targeted classes, I would not have implemented the#[CoversTrait]
and#[UsesTrait]
attributes. As of 17bbefa, this behaviour is now documented in tests.The
#[CoversTrait]
and#[UsesTrait]
attributes are therefore not needed and will be deprecated in PHPUnit 11.4 and removed in PHPUnit 12.If you currently use
#[CoversClass]
or#[UsesClass]
to target traits: don't. Testing traits in isolation from their embedding classes is not useful.If you currently use
#[CoversTrait]
or#[UsesTrait]
to target traits: don't. The traits used by the class(es) you target with#[CoversClass]
or#[UsesClass]
will be targeted as well.The text was updated successfully, but these errors were encountered: