wiki.techinc.nl/tests/phpunit
Antoine Musso acaa3a63a7 tests: add skins to PHPUnit "extensions:unit" test suite
When running tests, there is no need to differentiate between extensions
and skins. When generating coverage, CI uses extensions:unit and
skins:unit, they only differ by the paths they filter.

This change extensions:unit to no more filter path, it would then
discover tests under $IP/skins/.  In CI, this will let us switch skins
to use the same job used by extensions therefore simplifying the stack.

Bug: T395470
Bug: T402398
Change-Id: Ifaeb8c2e278acca89a92187ac39a6c0e1eb503f9
(cherry picked from commit 515e35d5b0b3e66e63f8209447aa3888b18a442f)
2025-09-17 01:03:38 +00:00
..
data Forward-compat data for SelserContext w/ JSON-encoded Content 2025-09-10 14:08:31 -04:00
docs Add namespace to maintenance/includes classes 2024-10-09 11:02:09 -04:00
includes Make Content JsonCodecable 2025-09-05 16:12:09 -04:00
integration/includes Forward-compat data for SelserContext w/ JSON-encoded Content 2025-09-10 14:08:31 -04:00
maintenance tests: Use namespaced classes 2024-10-21 18:53:02 +02:00
mocks logger: Make log() methods return void 2025-06-18 02:21:42 +00:00
structure Skip 'ext.pageviewinfo' module in ResourcesTest to avoid CI failure 2025-09-16 15:13:58 +00:00
suites tests: add skins to PHPUnit "extensions:unit" test suite 2025-09-17 01:03:38 +00:00
tests
unit Use JsonCodec to serialize SelserContext 2025-09-10 14:08:31 -04:00
bootstrap.common.php
bootstrap.integration.php
bootstrap.maintenance.php
bootstrap.php phpunit: Fix bootstrap script when no extensions are installed 2025-02-21 22:24:30 +00:00
DynamicPropertyTestHelper.php Drop PHP 7.4/8.0 support from master (forward-port from MW 1.42) 2025-06-18 10:53:22 +01:00
getPHPUnitExtensionsAndSkins.php phpunit: Fix bootstrap script when no extensions are installed 2025-02-21 22:24:30 +00:00
HamcrestPHPUnitIntegration.php
JsonSchemaAssertionTrait.php
MediaWikiCoversValidator.php
MediaWikiDeprecatedConfigPHPUnitExtension.php
MediaWikiGroupValidator.php
MediaWikiIntegrationTestCase.php title: Reset cached Title objects between tests 2025-05-27 12:35:10 +00:00
MediaWikiLangTestCase.php
MediaWikiLoggerPHPUnitExtension.php
MediaWikiPHPUnitResultPrinter.php
MediaWikiTeardownPHPUnitExtension.php
MediaWikiTestCaseTrait.php Use explicit nullable type on parameter arguments 2024-10-16 20:58:33 +02:00
MediaWikiUnitTestCase.php
MWTestDox.php
phpunit.php phpunit: Don't override --bootstrap if supplied 2025-01-13 15:14:27 +00:00
README.md
ResourceLoaderTestCase.php Use explicit nullable type on parameter arguments 2024-10-16 20:58:33 +02:00
suite.xml
TestSelectQueryBuilder.php Expand tests for rename user maintenance scripts 2024-10-08 21:51:59 +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