wiki.techinc.nl/tests/phpunit
Timo Tijhof 8f778a8b23 ResourceLoader: Improve and generalize validateScriptFile test coverage
In preparation for the underlying library changing, generalize the
tests for this code so that test changes are kept to a minimum in
the actual commit. Rather than test the upstream directly, move
our custom test cases from JsMinPlusTest to ResourceLoader/ModuleTest.

Fix benchmarkJSMinPlus.php to not emit warnings on PHP 8.2 due to
use of dynamic property creation:

> PHP Deprecated:  Creation of dynamic property JSNode::$readOnly
> is deprecated in /mediawiki/includes/libs/jsminplus.php:1728

Bug: T75714
Change-Id: I0515be8229f51de48c1f0c92f09e2d827e1b1add
2023-10-02 18:46:25 -07:00
..
data Update Codex from v0.19.0 to v0.20.0 2023-09-27 14:10:59 -07:00
docs tests: Unbreak and actually run ExportDemoTest 2023-08-08 15:30:54 +00:00
includes ResourceLoader: Improve and generalize validateScriptFile test coverage 2023-10-02 18:46:25 -07:00
integration/includes Revert "Remove unused class_alias deprecated in MW 1.40" 2023-09-29 11:21:49 +02:00
maintenance Bump codesniffer to 42.0.0 2023-09-27 15:06:32 -04:00
mocks Unit test for LinkRenderer::makeRedirectHeader() used by WikitextContentHandler 2023-09-22 17:08:20 -04:00
structure Update references to config-vars.php 2023-09-23 03:37:44 +00:00
suites phpunit: Determine what extensions to load in unit tests via config 2023-09-25 23:03:48 +00:00
tests tests: Migrate some Database::select() calls to SQB 2023-09-13 21:34:49 +02:00
unit ResourceLoader: Improve and generalize validateScriptFile test coverage 2023-10-02 18:46:25 -07:00
bootstrap.common.php phpunit: Set the MW_INSTALL_PATH env variable if needed 2023-07-17 15:28:26 +02:00
bootstrap.integration.php phpunit: Streamline loading of Setup.php 2023-07-13 03:21:45 +02:00
bootstrap.maintenance.php Merge "Avoid mentioning tests/phpunit.php in documentation" 2023-07-24 16:32:47 +00:00
bootstrap.php Bump codesniffer to 42.0.0 2023-09-27 15:06:32 -04:00
getPHPUnitExtensionsAndSkins.php phpunit: Determine what extensions to load in unit tests via config 2023-09-25 23:03:48 +00:00
HamcrestPHPUnitIntegration.php
MediaWikiCoversValidator.php
MediaWikiGroupValidator.php Make isTestInDatabaseGroup static and case-sensitive 2023-08-15 21:01:03 +00:00
MediaWikiIntegrationTestCase.php Bump codesniffer to 42.0.0 2023-09-27 15:06:32 -04:00
MediaWikiLangTestCase.php Replace usages of deprecated MWException 2023-06-06 17:05:32 +02:00
MediaWikiLoggerPHPUnitExtension.php
MediaWikiPHPUnitResultPrinter.php
MediaWikiTeardownPHPUnitExtension.php phpunit: Use PHPUnit hooks to tear down the test DB after the last test 2023-07-13 01:10:11 +02:00
MediaWikiTestCaseTrait.php phpunit: Remove reference of deprecated params in TestCaseTrait 2023-09-06 11:52:36 +00:00
MediaWikiUnitTestCase.php Namespace Config-related classes under \MediaWiki\Config 2023-09-21 05:41:58 +00:00
MWTestDox.php
phpunit.php phpunit: Deprecate tests/phpunit/phpunit.php script 2023-07-12 19:28:39 +00:00
README.md
ResourceLoaderTestCase.php Namespace Config-related classes under \MediaWiki\Config 2023-09-21 05:41:58 +00:00
suite.xml tests: Unbreak and actually run ExportDemoTest 2023-08-08 15:30:54 +00:00
TestSelectQueryBuilder.php Migrate assertSelect() to SelectQueryBuilder 2023-06-28 09:03:58 +10: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