wiki.techinc.nl/tests/phpunit
Tim Starling 088a313fec ContribsPager row filtering with RevisionStore::isRevisionRow
Flow hooks into ContribsPager, causing formatRow() to be called with
FormatterRow objects instead of stdClass objects. formatRow() is
expected to silently decline to format such objects, leaving formatting
up to a subsequent hook.

Instead of calling newRevisionFromRow with all warnings suppressed and
all exceptions caught, provide isRevisionRow() which determines whether
the row is valid. Thus, unexpected exceptions will be visible and the
code does not depend on details of how newRevisionFromRow() validates
its arguments.

Bug: T288563
Change-Id: Id0316886d770cd905897d515b3eb658a5875bd80
2021-08-10 17:59:30 -07:00
..
data build: Updating dependencies 2021-07-22 03:36:05 +00:00
docs
includes ContribsPager row filtering with RevisionStore::isRevisionRow 2021-08-10 17:59:30 -07:00
integration/includes McrUndoAction: inject ReadOnlyMode 2021-08-06 03:14:20 +02:00
languages Move Language subclasses to includes/ 2021-08-04 23:44:46 +01:00
maintenance build: Updating dependencies 2021-07-22 03:36:05 +00:00
mocks Merge "Use DummyServicesTrait for BadFileLookupTest TitleParser" 2021-08-10 03:44:11 +00:00
structure build: Updating dependencies 2021-07-22 03:36:05 +00:00
suites build: Updating dependencies 2021-07-22 03:36:05 +00:00
tests build: Updating dependencies 2021-07-22 03:36:05 +00:00
unit language: Autoload normalize data and remove transformUsingPairFile compat 2021-08-10 21:03:13 +00:00
bootstrap.maintenance.php
bootstrap.php
HamcrestPHPUnitIntegration.php Update Legoktm's email address 2021-05-02 05:39:37 +00:00
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 Update Legoktm's email address 2021-05-02 05:39:37 +00:00
MediaWikiGroupValidator.php
MediaWikiHooksPHPUnitExtension.php
MediaWikiIntegrationTestCase.php Tests: reset ParserOptions static cache with MW services 2021-08-10 09:11:19 -07: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 Remove dependency on pimple external library 2021-06-24 07:18:23 +00:00
MediaWikiUnitTestCase.php build: Updating dependencies 2021-07-22 03:36:05 +00:00
phpunit.php phpunit.php: Move remaining CLI options to env variables 2021-05-18 12:34:39 +02:00
README
ResourceLoaderTestCase.php build: Updating dependencies 2021-07-22 03:36:05 +00:00
run-tests.bat
suite.xml language: Autoload normalize data and remove transformUsingPairFile compat 2021-08-10 21:03:13 +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