wiki.techinc.nl/tests/phpunit
Aaron Schulz 76be4dca81 rdbms: improve LoadBalancer connection pool reuse
Make DBConnRef enforce the DB domain selected during its lifetime
and allow more nested and successive use of the same connection handle
via DBConnRef. This can avoid extra connections in some cases where
getConnection()/getConnectionRef() is used.

Also:
* Reduce the number of connection pools arrays from six to two
* Merge getLocalConnection()/getForeignConnection() into one method
* Expand various related code comments

Bug: T226595
Depends-On: If808cbab429d41e1f2289683533e4a781a4bdf5e
Change-Id: I540b08920997c57cad6445ddb09d8e663eaf4714
2022-09-23 10:53:58 +10:00
..
data Add 1.39 snapshot to sqlite db tests 2022-09-06 18:32:46 +00:00
docs
includes rdbms: improve LoadBalancer connection pool reuse 2022-09-23 10:53:58 +10:00
integration/includes HTMLTransform: do not presume wikitext 2022-09-22 17:41:48 +01:00
languages Update Language::isWellFormedLanguageTag 2022-08-30 10:54:18 +00:00
maintenance tests: Replace deprecated WikiPage::factory 2022-09-02 19:34:02 +00:00
mocks Use native array_column() in tests instead of loops 2022-08-16 15:41:14 +02:00
structure ResourceLoader: Add structure test to detect incompatible requiresES6 2022-08-31 18:13:52 +00:00
suites Followup on 02d13afa: Unbreak Parsoid parser test runs 2022-08-25 17:32:24 -05:00
tests rdbms: improve LoadBalancer connection pool reuse 2022-09-23 10:53:58 +10:00
unit rdbms: improve LoadBalancer connection pool reuse 2022-09-23 10:53:58 +10: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
MediaWikiCoversValidator.php Use str_starts_with/str_ends_with 2022-05-02 10:59:58 +03:00
MediaWikiGroupValidator.php
MediaWikiIntegrationTestCase.php rdbms: improve LoadBalancer connection pool reuse 2022-09-23 10:53:58 +10:00
MediaWikiLangTestCase.php
MediaWikiLoggerPHPUnitExtension.php phpunit: Fix trivial dynamic property usages in tests 2022-07-29 01:59:23 +02:00
MediaWikiPHPUnitResultPrinter.php phpunit: Restore default progress reporter and add MWTestDox option 2022-06-12 19:22:57 +00:00
MediaWikiTestCaseTrait.php Replace trivial usa of mock builder with createMock() shortcut 2022-07-15 16:43:48 +00:00
MediaWikiUnitTestCase.php Migrate use of ${var}-style string interpolation 2022-07-29 02:45:09 +02: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 tests: Migrate away from setMwGlobals() 2022-08-22 20:17:49 +00:00
suite.xml phpunit.xml.dist: Align contents with suite.xml 2022-07-12 10:32:32 +02: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