wiki.techinc.nl/tests/phpunit
mainframe98 7299aed7a5 tests: Allow overridable data providers to be static
This uses some reflection to identify if the data provider is static or
not. If it isn't, a deprecation notice is emitted. This doesn't fail the
tests, but is still printed in the output.

To facilitate this, the relevant abstract method has been uncommented,
as PHP does not like it when function signatures do not match up.

This approach means that tests in extensions or skins do not immediately
break when making data providers static. Instead, they can do so at
their own pace.

Bug: T332865
Change-Id: I5ff35ad0e894f0a27beae00257dc1fc599ad518d
2023-05-16 16:28:43 +01:00
..
data Merge "mediawiki.skin.defaults.less: Import all Codex mixins" 2023-03-30 10:07:45 +00:00
docs
includes tests: Allow overridable data providers to be static 2023-05-16 16:28:43 +01:00
integration/includes Merge "ResourceLoader: Move ForeignResourceStructureTest to integration/" 2023-03-30 07:36:04 +00:00
maintenance Just another 80 or so PHPStorm inspection fixes (#4) 2023-03-25 00:39:06 +00:00
mocks Fix some typos 2023-03-21 15:58:09 +01:00
structure ResourceLoader: Raise MW JavaScript startup requirement to ES6 2023-03-30 14:26:05 +01:00
suites Just another 80 or so PHPStorm inspection fixes (#4) 2023-03-25 00:39:06 +00:00
tests tests: Make some PHPUnit data providers static 2023-03-24 02:53:57 +00:00
unit tests: Allow overridable data providers to be static 2023-05-16 16:28:43 +01:00
bootstrap.maintenance.php Revert "phpunit: Default to vendor/bin/phpunit, remove suites.xml" 2022-06-09 14:15:54 +00:00
bootstrap.php phpunit: Check if composer dependencies are up-to-date 2023-03-09 18:26:06 -05:00
HamcrestPHPUnitIntegration.php
LessFileCompilationTest.php tests: Fix types in documentation by adding use statements 2022-05-29 07:11:15 +00:00
MediaWikiCliOptions.php
MediaWikiCoversValidator.php tests: Upgrade PHPUnit from 8.5+ to 9.5+ 2022-10-08 02:03:55 +02:00
MediaWikiGroupValidator.php
MediaWikiIntegrationTestCase.php profiler: Add ProfilingContext class 2023-03-23 00:08:49 +00:00
MediaWikiLangTestCase.php
MediaWikiLoggerPHPUnitExtension.php phpunit: Add PHPUNIT_LOGS flag 2023-02-08 22:15:32 -08:00
MediaWikiPHPUnitResultPrinter.php tests: Upgrade PHPUnit from 8.5+ to 9.5+ 2022-10-08 02:03:55 +02:00
MediaWikiTestCaseTrait.php tests: Replace checkPHPExtension() with @requires annotations 2022-10-23 20:47:14 -04:00
MediaWikiUnitTestCase.php AutoLoader: Drop support for $wgAutoloadAttemptLowercase 2022-12-04 02:38:57 -05:00
MWTestDox.php phpunit: Restore default progress reporter and add MWTestDox option 2022-06-12 19:22:57 +00:00
phpunit.php phpunit: Check if composer dependencies are up-to-date 2023-03-09 18:26:06 -05:00
README.md phpunit: Update and simplify README 2022-03-31 19:37:33 +01:00
ResourceLoaderTestCase.php ResourceLoader: Raise MW JavaScript startup requirement to ES6 2023-03-30 14:26:05 +01:00
suite.xml phpunit: Lower report limit to 10 slowest tests 2023-03-09 14:08:38 +01:00

MediaWiki PHPUnit tests

WARNING: Integration tests may be destructive and alter or remove parts of your local database. We try to use temporary tables where possible, but you must never run tests on a production server or on a wiki where you don't want to lose data.

Running tests

If you haven't already, run composer update (specifically without --no-dev) in the MediaWiki core directory. This will install PHPUnit.

To read about how to run specific tests, refer to:

https://www.mediawiki.org/wiki/Manual:PHP_unit_testing/Running_the_tests

Writing tests

A guide to writing PHPUnit tests for MediaWiki can be found at:

https://www.mediawiki.org/wiki/Manual:PHP_unit_testing