wiki.techinc.nl/tests/phpunit
C. Scott Ananian 9632dfb041 Move ::addTrackingCategory() implementation to TrackingCategories
This moves the implementation of ParserOutput::addTrackingCategory()
to the TrackingCategories class as a non-static method. This makes
invocation from ParserOutput awkward, but when invoking as
Parser::addTrackingCategory() all the necessary services are
available.  As a result, we've also soft-deprecated
ParserOutput::addTrackingCategory(); new users should use the
TrackingCategories::addTrackingCategory() method, or else
Parser::addTrackingCategory() if the parser object is available.

The Parser class is already kind of bloated as it is (alas), but there
aren't too many callsites which invoke
ParserOutput::addTrackingCategory() and don't have the corresponding
Parser object handy; see:

https://codesearch.wmcloud.org/search/?q=%5BOo%5Dutput%28%5C%28%5C%29%29%3F-%3EaddTrackingCategory%5C%28&i=nope&files=&excludeFiles=&repos=

Change-Id: I697ce188a912e445a6a748121575548e79aabac6
2021-10-15 14:17:58 -04:00
..
data Hard-deprecate all public property access on CacheTime and ParserOutput. 2021-10-13 13:27:16 -04:00
docs
includes Move ::addTrackingCategory() implementation to TrackingCategories 2021-10-15 14:17:58 -04:00
integration/includes phpunit: Fix parameter order on two assertSame() calls 2021-10-12 20:22:34 +00:00
languages Add message parameter type for User Groups 2021-10-14 15:02:13 -04:00
maintenance Add script to delete a user email's address 2021-09-27 18:02:11 +00:00
mocks Move Content::getParserOutput & AbstractContent::fillParserOutput to ContentHandler 2021-09-29 13:10:51 +03:00
structure Merge "phpunit: Drop bypass for now-fixed dberror from SpecialPageFatalTest" 2021-10-07 20:29:42 +00:00
suites build: Updating dependencies 2021-07-22 03:36:05 +00:00
tests MockHttpTrait: support multiple MultiHttpClients 2021-08-12 11:30:14 -07:00
unit Move ::addTrackingCategory() implementation to TrackingCategories 2021-10-15 14:17:58 -04:00
bootstrap.maintenance.php
bootstrap.php phpunit: Include DevelopmentSettings for composer phpunit:unit 2021-10-02 22:34:33 +00:00
HamcrestPHPUnitIntegration.php
LessFileCompilationTest.php build: Updating dependencies 2021-07-22 03:36:05 +00:00
Makefile
MediaWikiCliOptions.php build: Updating dependencies 2021-07-22 03:36:05 +00:00
MediaWikiCoversValidator.php
MediaWikiGroupValidator.php
MediaWikiIntegrationTestCase.php Merge "MediaWikiIntegrationTestCase::getExistingTestPage: Don't assume NS0 is wikitext" 2021-09-16 20:34:55 +00:00
MediaWikiLangTestCase.php build: Updating dependencies 2021-07-22 03:36:05 +00:00
MediaWikiLoggerPHPUnitExtension.php
MediaWikiPHPUnitCommand.php build: Updating dependencies 2021-07-22 03:36:05 +00:00
MediaWikiPHPUnitResultPrinter.php build: Updating dependencies 2021-07-22 03:36:05 +00:00
MediaWikiTestCaseTrait.php Move Content::getParserOutput & AbstractContent::fillParserOutput to ContentHandler 2021-09-29 13:10:51 +03:00
MediaWikiUnitTestCase.php phpunit: Include DevelopmentSettings for composer phpunit:unit 2021-10-02 22:34:33 +00:00
phpunit.php
README
ResourceLoaderTestCase.php resourceloader: Fix debug mode for RL-to-RL cross-wiki module loads 2021-08-25 20:05:38 +00:00
run-tests.bat
suite.xml PHPUnit: enable convertDeprecationsToExceptions 2021-09-25 10:05:18 +00: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