wiki.techinc.nl/tests/phpunit
Tim Starling 9c3c0b704b Use array_fill_keys() instead of array_flip() if that reflects the developer's intention
array_fill_keys() was introduced in PHP 5.2.0 and works like
array_flip() except that it does only one thing (copying keys) instead
of two things (copying keys and values). That makes it faster and more
obvious.

When array_flip() calls were paired, I left them as is, because that
pattern is too cute. I couldn't kill something so cute.

Sometimes it was hard to figure out whether the values in array_flip()
result were used. That's the point of this change. If you use
array_fill_keys(), the intention is obvious.

Change-Id: If8d340a8bc816a15afec37e64f00106ae45e10ed
2021-06-15 00:11:10 +00:00
..
data tests: Remove unused composer.json sample data 2021-06-08 23:56:01 +00:00
docs
includes Use array_fill_keys() instead of array_flip() if that reflects the developer's intention 2021-06-15 00:11:10 +00:00
integration/includes Use the unserialized form of image metadata internally 2021-06-08 17:04:01 +10:00
languages Parser: remove Title from method signatures 2021-04-29 18:11:46 +02:00
maintenance Merge "Add MediaWikiIntegrationTestCase::runJobs() and use it" 2021-05-05 03:15:17 +00:00
mocks Allow passing mock Authority in API integration tests 2021-06-07 11:50:42 -07:00
structure Rename change_tag indexes to have ct_ prefix 2021-06-08 17:57:15 +01:00
suites Remove unused default values from class properties 2021-05-12 13:44:28 +02:00
tests Tests: Mark more more closures as static 2021-02-09 02:55:57 +00:00
unit Replace easy usages of User for UserIdentity/Authority 2021-06-09 07:53:52 -07:00
bootstrap.maintenance.php Tests: Mark more closures as static 2021-02-07 13:26:56 +01:00
bootstrap.php
HamcrestPHPUnitIntegration.php Update Legoktm's email address 2021-05-02 05:39:37 +00:00
LessFileCompilationTest.php
Makefile
MediaWikiCliOptions.php phpunit: Remove the PHPUNIT_REUSE_DB / --reuse-db option 2021-05-19 12:19:59 -07:00
MediaWikiCoversValidator.php Update Legoktm's email address 2021-05-02 05:39:37 +00:00
MediaWikiGroupValidator.php
MediaWikiHooksPHPUnitExtension.php phpunit: Remove MediaWikiPHPUnitTestListener 2021-03-20 15:55:26 +01:00
MediaWikiIntegrationTestCase.php phpunit: Remove the PHPUNIT_REUSE_DB / --reuse-db option 2021-05-19 12:19:59 -07:00
MediaWikiLangTestCase.php Use @before/@after in MediaWikiIntegrationTestCase/MediaWikiUnitTestCase 2021-04-27 22:21:59 +02:00
MediaWikiLoggerPHPUnitExtension.php Use PHPUnit hooks for augmented logs 2020-09-22 11:28:10 +00:00
MediaWikiPHPUnitCommand.php phpunit: Remove MediaWikiPHPUnitTestListener 2021-03-20 15:55:26 +01:00
MediaWikiPHPUnitResultPrinter.php
MediaWikiTestCaseTrait.php Merge "tests: ensure __destruct is never doubled with anythingBut" 2021-05-22 19:54:27 +00:00
MediaWikiUnitTestCase.php Use @before/@after in MediaWikiIntegrationTestCase/MediaWikiUnitTestCase 2021-04-27 22:21:59 +02:00
phpunit.php phpunit.php: Move remaining CLI options to env variables 2021-05-18 12:34:39 +02:00
README
ResourceLoaderTestCase.php resourceloader: Add missing Module->setConfig() calls in tests and installer 2021-06-13 21:20:58 +00:00
run-tests.bat
suite.xml phpunit: Remove MediaWikiPHPUnitTestListener 2021-03-20 15:55:26 +01:00

== MediaWiki PHPUnit Tests ==

The unit and integration tests for MediaWiki are implemented using the PHPUnit testing
framework and require PHPUnit to run.


=== WARNING ===

Some of the integration tests are DESTRUCTIVE and WILL ALTER YOUR WIKI'S CONTENTS.

DO NOT RUN THESE TESTS ON A PRODUCTION SYSTEM OR ON ANY SYSTEM WHERE YOU NEED
TO RETAIN YOUR DATA.


== Installation ==

If you used composer to install MediaWiki's dependencies PHPUnit will already be available, unless
you explicitly specified the --no-dev flag during the install. In this case just run "composer update".

Otherwise follow the installation instructions in the
PHPUnit Manual at:

  https://phpunit.de/manual/current/en/installation.html


== Running tests ==

The tests are run from your operating system's command line.

Ensure that you are in the tests/phpunit directory of your MediaWiki
installation.


On Unix-like operating systems, the tests runs are controlled with a makefile.
Run command:

  make help

for a full list of options for running tests.


On Windows-family operating systems, run the 'run-tests.bat' batch file.


=== Writing tests ===

A guide to writing PHP unit tests for MediaWiki can be found at:

	https://www.mediawiki.org/wiki/Manual:PHP_unit_testing