-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Description
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.