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?
Session: phpunit test runner improvements, removing maintenance class, etc
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.