Page MenuHomePhabricator

unconference: phpunit test runner improvements, removing maintenance class, etc
Closed, ResolvedPublic

Description

Following up from https://phabricator.wikimedia.org/phame/post/view/169/changes_and_improvements_to_phpunit_testing_in_mediawiki/, what are future improvements we can make?

Specifically, should removing tests/phpunit/phpunit.php and related code be a priority (in favor of the vanilla PHPUnit command vendor/bin/phpunit), and if so how do we go about that?

Notes:

Session: phpunit test runner improvements, removing maintenance class, etc

Ticket: https://phabricator.wikimedia.org/T238227

Leads: Kosta

Would be nice to…

  • run the integration tests directly with phpunit, not just the unit tests
  • move the integration tests into their own directory (core + extensions + skins)
    • enforce the directory?
  • get rid of groups / suites? (Which? Both?)
    • @group database is a pointless duplication of MediaWikiIntegrationTestCase now.
  • Get rid of the sub-classes like RLTestCase?
    • Maybe move to traits instead of sub-classes?
    • Helpful to understand what use cases there are for the different test cases, when who should use which?
      • Documentation complexity tied up with this directory
    • AGREED: Move RL case into integration directory and rename, etc.
  • DISCUSSION: Consider moving items to traits?
  • DISCUSSION: Can we scrap MediaWikiPHPUnitCommand.php and move into phpunit.xml?
  • Getting rid of some of the old crap may be hard due to use in labyrithine code repos like Wikibase
  • ACTION: James to add a comment explaining how expectedDeprecated() works.
  • DISCUSSION: Abort on --use-normal-tables and --reuse-db ? Ask Daniel and Timo?
  • Could we get rid of MediaWikiUnitTestCase and use PHPUnitTestCase directly with some listeners?
    • Hard. But maybe.

Event Timeline

kostajh created this task.Nov 13 2019, 4:11 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptNov 13 2019, 4:11 PM
kostajh added a subscriber: TK-999.Nov 13 2019, 4:12 PM

@kostajh: Thank you for proposing and/or hosting this session. This open task only has the archived project tag Wikimedia-Technical-Conference-2019.
If there is nothing more to do in this very task, please change the task status to resolved via the Add Action...Change Status dropdown.
If there is more to do, then please either add appropriate non-archived project tags to this task (via the Add Action...Change Project Tags dropdown), or make sure that appropriate follow up tasks have been created and resolve this very task. Thank you for helping clean up!

kostajh closed this task as Resolved.Mar 23 2020, 11:52 AM
kostajh claimed this task.