wiki.techinc.nl/tests/phpunit
Bartosz Dziewoński ec79aa3943 SQLPlatform: Introduce buildComparison()
Builds a condition comparing multiple values, for use with indexes
that cover multiple fields, common when e.g. paging through results
or doing batch operations. Can also be to generate a simple comparison
without writing raw SQL (see T210206).

Update a few manually constructed conditions to use this method.
There are more maintenance scripts and API classes that use the
same patterns, but this is a start.

As you can see by the code I'm replacing, there are many ways to do
this. I picked the one used by maintenance/TableCleanup.php, since
I found it the easiest to understand.

Change-Id: Ic368a87fb5ce4c13608b03206cd68518ec9732d4
2022-09-10 04:22:19 +02:00
..
data
docs
includes SQLPlatform: Introduce buildComparison() 2022-09-10 04:22:19 +02:00
integration/includes ParsoidOutputAccess: support target language. 2022-09-02 14:00:40 +00:00
languages Update LanguageConverter ShiConverter shi/"unconverted" variant 2022-08-26 07:41:43 +00:00
maintenance rdbms: add getDomainChangeException() call to DBConnRef::tablePrefix() 2022-08-03 21:41:09 +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: add getDomainChangeException() call to DBConnRef::tablePrefix() 2022-08-03 21:41:09 +00:00
unit SQLPlatform: Introduce buildComparison() 2022-09-10 04:22:19 +02:00
bootstrap.maintenance.php
bootstrap.php
HamcrestPHPUnitIntegration.php
LessFileCompilationTest.php
MediaWikiCliOptions.php
MediaWikiCoversValidator.php
MediaWikiGroupValidator.php
MediaWikiIntegrationTestCase.php ParsoidOutputAccess: support target language. 2022-09-02 14:00:40 +00:00
MediaWikiLangTestCase.php
MediaWikiLoggerPHPUnitExtension.php phpunit: Fix trivial dynamic property usages in tests 2022-07-29 01:59:23 +02:00
MediaWikiPHPUnitResultPrinter.php
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.php
README.md
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