wiki.techinc.nl/tests/phpunit
Umherirrender f338645527 Create FauxRequestUpload to fake uploads in tests
And use it in core
Avoid direct use of super global $_FILES

This can breaks all FauxRequest relaying on $_FILES
in tests or production code via FauxRequest::getUpload.
Falls back to $_FILES for the moment

Bug: T48163
Change-Id: I7392acc9bb682ec6b7025dbed0734c142f45c91a
2021-04-06 23:10:43 +02:00
..
data DoctrineSchemaBuilder: Do not add prefix placeholder for Postgres at all 2021-04-06 00:23:14 +00:00
docs
includes Create FauxRequestUpload to fake uploads in tests 2021-04-06 23:10:43 +02:00
integration/includes Convert ParserCache to PageRecord 2021-04-02 21:14:54 -06:00
languages Merge "Add converter for the Talysh language (tly)" 2021-02-23 12:45:31 +00:00
maintenance Move MWDoxygenFilterTest to unit tests 2021-03-28 18:33:51 +00:00
mocks Convert WatchedItem et al to PageIdentity 2021-03-26 15:51:19 -04:00
structure Migrate page to abstract schema 2021-03-21 12:07:12 +01:00
suites Fix typo in ParserTestTopLevelSuite 2021-02-19 15:51:50 +01:00
tests Tests: Mark more more closures as static 2021-02-09 02:55:57 +00:00
unit Merge "Fix the test MonologSpiTest::testDefaultChannel" 2021-04-06 17:02:12 +00:00
bootstrap.maintenance.php Tests: Mark more closures as static 2021-02-07 13:26:56 +01:00
bootstrap.php Make phpunit:unit accept extension*.json to populate the classes 2020-08-07 17:45:33 +02:00
HamcrestPHPUnitIntegration.php Fix and add various type hints 2021-02-16 17:22:15 +00:00
LessFileCompilationTest.php
Makefile docs: Remove 'code-coverage' placeholder directory 2019-01-25 18:35:46 -08:00
MediaWikiCliOptions.php
MediaWikiCoversValidator.php
MediaWikiGroupValidator.php
MediaWikiHooksPHPUnitExtension.php phpunit: Remove MediaWikiPHPUnitTestListener 2021-03-20 15:55:26 +01:00
MediaWikiIntegrationTestCase.php Drop wgContLang, deprecated in 1.32 2021-03-08 13:27:28 -06:00
MediaWikiLangTestCase.php MediaWikiTestCase to MediaWikiIntegrationTestCase 2020-06-30 17:02:22 +01: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 Use PHPUnit hooks for augmented logs 2020-09-22 11:28:10 +00:00
MediaWikiTestCaseTrait.php tests: Avoid problematic language in comments and internal code 2021-03-28 21:21:28 -07:00
MediaWikiUnitTestCase.php tests: Avoid problematic language in comments and internal code 2021-03-28 21:21:28 -07:00
phpunit.php Decouple phpunit.php from Maintenance 2021-03-21 13:26:11 +00:00
README
ResourceLoaderTestCase.php resourceloader: Allow modules to mark themselves as ES6-only 2021-03-04 14:53:36 -05: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