wiki.techinc.nl/tests/phpunit
Petr Pchelko bc6f7e4bdc Make User implement Authority
Ideally, only User associated with the global request
should be associated with UserAuthority. For a random
user instance, not the current performer, checking permissions
should be based solely on user groups and perhaps an
existing block. Right now however, PermissionManager
is coupled with global request, so we still instantiate
a UserAuthority for non-current users. This mimics the
behaviour we've had before. As we refactor PermissionManager,
we will be able to replace Authority implementation in this case,
or even entirely prohibit non-performer authority.

Bug: T271459
Depends-On: Iebf2dca34eea751391d9740443c195287399aa5c
Change-Id: Ib094e498fd883db23f2763f171281b1c9e99217e
2021-01-19 18:08:12 -06:00
..
data exception: Add test for MWExceptionHandler trace formatting 2021-01-13 23:26:48 +00:00
docs
documentation Ignore empty lines in Release Notes test 2021-01-16 06:26:14 +00:00
includes Make User implement Authority 2021-01-19 18:08:12 -06:00
integration/includes Merge "Split title mocking methods out of HandlerTestTrait." 2021-01-18 17:08:11 +00:00
languages Improve some function documentation in tests 2021-01-14 22:13:55 +01:00
maintenance Fix incomplete/bogus PHPDoc tags in various tests 2021-01-14 19:02:00 +00:00
mocks Split title mocking methods out of HandlerTestTrait. 2021-01-13 12:46:10 -06:00
skins Use MediaWikiServices::getMessageCache 2020-03-14 14:25:03 +01:00
structure Safer autoloading with respect to file-scope code 2021-01-11 11:59:36 +11:00
suites ParserTestRunner: share more code w/ MediaWikiIntegrationTestCase 2021-01-07 23:31:12 -05:00
tests phpunit: Remove odd "MediaWiki" group from tests using it 2021-01-08 18:35:30 +00:00
unit Make User implement Authority 2021-01-19 18:08:12 -06:00
bootstrap.maintenance.php MediaWikiTestCase to MediaWikiIntegrationTestCase 2020-06-30 17:02:22 +01:00
bootstrap.php Make phpunit:unit accept extension*.json to populate the classes 2020-08-07 17:45:33 +02:00
HamcrestPHPUnitIntegration.php Add missing @param and @return to documentation 2019-11-16 13:45:55 +01:00
LessFileCompilationTest.php resourceloader: Separate style processing from style file loading 2020-02-12 20:23:24 +00:00
Makefile
MediaWikiCliOptions.php Fix broken running tests locally in IDE 2019-11-21 16:28:12 +00:00
MediaWikiCoversValidator.php phpunit: Speed up MediaWikiCoversValidator trait 2020-03-08 18:51:38 +00:00
MediaWikiGroupValidator.php
MediaWikiIntegrationTestCase.php ParserTestRunner: share more code w/ MediaWikiIntegrationTestCase 2021-01-07 23:31:12 -05: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 Use PHPUnit hooks for augmented logs 2020-09-22 11:28:10 +00:00
MediaWikiPHPUnitResultPrinter.php Use PHPUnit hooks for augmented logs 2020-09-22 11:28:10 +00:00
MediaWikiPHPUnitTestListener.php Use PHPUnit hooks for augmented logs 2020-09-22 11:28:10 +00:00
MediaWikiTestCaseTrait.php Improve assertArrayEquals() logic in test trait 2021-01-05 04:36:10 +01:00
MediaWikiUnitTestCase.php Fix some unit tests accessing MediaWikiServices 2020-11-12 19:13:47 +00:00
phpunit.php Safer autoloading with respect to file-scope code 2021-01-11 11:59:36 +11:00
README
ResourceLoaderTestCase.php Fix extraneous indents in ResourceLoaderTestCase 2020-12-18 21:49:07 +00:00
run-tests.bat
suite.xml Use PHPUnit hooks for augmented logs 2020-09-22 11:28:10 +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