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
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
bootstrap.php
HamcrestPHPUnitIntegration.php
LessFileCompilationTest.php
Makefile
MediaWikiCliOptions.php
MediaWikiCoversValidator.php
MediaWikiGroupValidator.php
MediaWikiIntegrationTestCase.php ParserTestRunner: share more code w/ MediaWikiIntegrationTestCase 2021-01-07 23:31:12 -05:00
MediaWikiLangTestCase.php
MediaWikiLoggerPHPUnitExtension.php
MediaWikiPHPUnitCommand.php
MediaWikiPHPUnitResultPrinter.php
MediaWikiPHPUnitTestListener.php
MediaWikiTestCaseTrait.php Improve assertArrayEquals() logic in test trait 2021-01-05 04:36:10 +01:00
MediaWikiUnitTestCase.php
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

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