wiki.techinc.nl/tests/phpunit
Dan Duvall 9778adf1c5 Refactor SettingsBuilder to use BagOStuff.
Removed use of Psr\SimpleCache\CacheInterface in favor of BagOStuff, as
the latter is a tried-and-true abstraction and the former offers no real
upfront benefits since the caching patterns of SettingsBuilder are quite
basic at this time.

The simplicity of cache interface use is largely in part to the minimal
probabilistic stampede protection implementation within CachedSource
which is left untouched by this change.

Bug: T294748
Change-Id: Ie59b37a8d5c7bf96225757fa9eb9d2c762476713
2021-12-10 10:20:05 -08:00
..
data Merge "Reapply "Move limit report rendering to ParserOutput"" 2021-11-11 00:19:44 +00:00
docs
includes Additional tests for LinksUpdate and LinksDeletionUpdate 2021-12-09 12:32:06 +11:00
integration/includes Merge "Change return format of DeletePage again" 2021-12-06 22:20:15 +00:00
languages Merge "Use hasVariant in loop to determine parent language in LanguageFactory" 2021-12-07 00:03:05 +00:00
maintenance Remove or replace usages of "sanity" 2021-11-21 16:42:31 +00:00
mocks Tests: Update syntax referencing classes and internal functions 2021-12-02 17:07:49 +01:00
structure Merge "Revert "tests: Special page constructor are not allow to call getContext"" 2021-12-03 18:43:06 +00:00
suites
tests Remove or replace usages of "sanity" 2021-11-21 16:42:31 +00:00
unit Refactor SettingsBuilder to use BagOStuff. 2021-12-10 10:20:05 -08:00
bootstrap.maintenance.php Add deprecation warnings to wfLogProfilingData() 2021-11-17 21:58:45 +00:00
bootstrap.php
HamcrestPHPUnitIntegration.php
LessFileCompilationTest.php
Makefile
MediaWikiCliOptions.php
MediaWikiCoversValidator.php
MediaWikiGroupValidator.php
MediaWikiIntegrationTestCase.php Remove the MediaWikiTestCase class alias 2021-12-05 13:50:40 +00:00
MediaWikiLangTestCase.php
MediaWikiLoggerPHPUnitExtension.php Re-add PHPUnit start/end log messages 2021-11-26 13:58:41 +11:00
MediaWikiPHPUnitCommand.php
MediaWikiPHPUnitResultPrinter.php
MediaWikiTestCaseTrait.php
MediaWikiUnitTestCase.php
phpunit.php
README
ResourceLoaderTestCase.php
run-tests.bat
suite.xml

== 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