wiki.techinc.nl/tests/phpunit
Mark A. Hershberger ea80f07d2f rdbms: Adapt hasOrMadeRecentPrimaryChanges test mock for PHP 8.1
Use a single callback for both mocks.  This is needed because using
PHP 8.1 results in:

> 1) LBFactoryTest::testChronologyProtector
> Implicit conversion from float 1657063075.187724
> to int loses precision
>
> tests/phpunit/includes/db/LBFactoryTest.php:313
> includes/libs/rdbms/ChronologyProtector.php:290

Bug: T312183
Change-Id: I2764cf9b81b08832c904bf7245bd54ca0f0eddad
2022-07-06 19:35:01 +00:00
..
data SVG Language selector should default to page language 2022-06-13 21:17:25 +00:00
docs
includes rdbms: Adapt hasOrMadeRecentPrimaryChanges test mock for PHP 8.1 2022-07-06 19:35:01 +00:00
integration/includes Protect against passing unsupported content models to Parsoid. 2022-06-30 14:54:42 +00:00
languages Merge "Fix typo in "overridden"" 2022-05-15 10:11:30 +00:00
maintenance Tests: Cleanup some unnecessary nested function calls 2022-06-06 01:02:34 +01:00
mocks Add support for nested property schemas in MainConfigSchema. 2022-06-29 16:34:43 +10:00
structure Remove 'ignoreKeys' from config schema 2022-07-06 10:46:58 +02:00
suites Pass <Test,TestMode> as argument pair, deprecate old TestFileReader 2022-06-03 17:15:38 -04:00
tests tests: Use WikiPageFactory to create WikiPage object 2022-06-26 23:21:02 +02:00
unit Remove 'ignoreKeys' from config schema 2022-07-06 10:46:58 +02:00
bootstrap.maintenance.php Revert "phpunit: Default to vendor/bin/phpunit, remove suites.xml" 2022-06-09 14:15:54 +00:00
bootstrap.php Collect autoloader info in ExtensionProcessor 2022-06-07 17:39:00 +02:00
HamcrestPHPUnitIntegration.php
LessFileCompilationTest.php tests: Fix types in documentation by adding use statements 2022-05-29 07:11:15 +00:00
MediaWikiCliOptions.php Improve ObjectCache integration tests 2022-02-11 10:20:33 +11:00
MediaWikiCoversValidator.php Use str_starts_with/str_ends_with 2022-05-02 10:59:58 +03:00
MediaWikiGroupValidator.php
MediaWikiIntegrationTestCase.php tests: Remove unneeded Title::newFromLinkTarget calls 2022-07-05 23:57:30 +02:00
MediaWikiLangTestCase.php
MediaWikiLoggerPHPUnitExtension.php
MediaWikiPHPUnitResultPrinter.php phpunit: Restore default progress reporter and add MWTestDox option 2022-06-12 19:22:57 +00:00
MediaWikiTestCaseTrait.php tests: Move assertHTMLEquals to the test case trait 2022-06-13 15:32:57 +00:00
MediaWikiUnitTestCase.php Use updated ObjectFactory namespace 2022-03-09 23:04:51 +00:00
MWTestDox.php phpunit: Restore default progress reporter and add MWTestDox option 2022-06-12 19:22:57 +00:00
phpunit.php Revert "phpunit: Default to vendor/bin/phpunit, remove suites.xml" 2022-06-09 14:15:54 +00:00
README.md phpunit: Update and simplify README 2022-03-31 19:37:33 +01:00
ResourceLoaderTestCase.php resourceloader: Decouple some internal constructor args 2022-06-02 18:27:33 +01:00
suite.xml Revert "phpunit: Default to vendor/bin/phpunit, remove suites.xml" 2022-06-09 14:15:54 +00: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