Page MenuHomePhabricator

Use recommended code coverage annotation method in PHPUnit tests
Open, Needs TriagePublic

Description

From https://docs.phpunit.de/en/9.6/annotations.html#covers:

  • @covers ClassName::methodName is not recommended
  • @covers ClassName is recommended

@covers ClassName::methodName is fragile to refactoring and often leads to under-reported test coverage or spurious test coverage failures, so should generally be replaced by @covers ClassName (unless there's a specific reason for it in a particular case).

Event Timeline

If anyone has the time to fix this systematically that would be great. Until then, smaller fixes can be tagged against this.

Change 990242 had a related patch set uploaded (by Tchanders; author: Tchanders):

[mediawiki/core@master] RevisionStoreFactoryTest: Use class @covers annotation

https://gerrit.wikimedia.org/r/990242

Change 990243 had a related patch set uploaded (by Tchanders; author: Tchanders):

[mediawiki/core@master] Use class @covers annotation in some tests

https://gerrit.wikimedia.org/r/990243

Change 990242 merged by jenkins-bot:

[mediawiki/core@master] RevisionStoreFactoryTest: Use class @covers annotation

https://gerrit.wikimedia.org/r/990242

Change 990243 merged by jenkins-bot:

[mediawiki/core@master] Use class @covers annotation in some tests

https://gerrit.wikimedia.org/r/990243

Change #1020208 had a related patch set uploaded (by Tchanders; author: Tchanders):

[mediawiki/core@master] ContribsPagerTest: Use class @covers annotation

https://gerrit.wikimedia.org/r/1020208

Change #1020208 merged by jenkins-bot:

[mediawiki/core@master] ContribsPagerTest: Use class @covers annotation

https://gerrit.wikimedia.org/r/1020208

Nice to see that upstream now recommends the same! I've been supporting this for a while with similar changes and similar reasoning in these commits:

https://gerrit.wikimedia.org/r/q/owner:Krinkle+is:merged+message:Widen

Change #1026651 had a related patch set uploaded (by Tchanders; author: Tchanders):

[mediawiki/core@master] Improve test coverage of SpecialContributions

https://gerrit.wikimedia.org/r/1026651

Change #1026651 merged by jenkins-bot:

[mediawiki/core@master] Improve test coverage of SpecialContributions

https://gerrit.wikimedia.org/r/1026651

Change #1059343 had a related patch set uploaded (by Tchanders; author: Tchanders):

[mediawiki/core@master] Improve test coverage of DeletedContribsPager

https://gerrit.wikimedia.org/r/1059343

Change #1059343 merged by jenkins-bot:

[mediawiki/core@master] Improve test coverage of DeletedContribsPager

https://gerrit.wikimedia.org/r/1059343

Bolding scoping this task to MediaWiki core based on the original patches attached. Feel free to scope differently if intended otherwise (bundled ext? WMF deployed?).

It can of course forever inspire others to follow the lead, but I just want to make sure the task is resolvable at some point.