wiki.techinc.nl/tests/phpunit
Martin Urbanec a656d03597 Introduce backend class for blocking users
Rather than having to do DatabaseBlock calls directly,
and then ManualLogEntry calls to facilitate logging,
let's create a BlockUser service, capable of blocking users
and logging, optionally with permission checking.

This should make blocking users easier for developers,
for instance, AbuseFilter or CheckUser can easily
benefit from this commit.

Bug: T189073
Change-Id: Ifdced735b694b85116cb0e43dadbfa8e4cdb8cab
2020-09-22 14:14:01 +01:00
..
data resourceloader: Add skin-based 'mediawiki.skin.variables.less' import 2020-09-15 10:05:53 +00:00
docs
documentation MediaWikiTestCase to MediaWikiIntegrationTestCase 2020-06-30 17:02:22 +01:00
includes Introduce backend class for blocking users 2020-09-22 14:14:01 +01:00
integration/includes EditPage: Fix member call on boolean when undo is impossible 2020-09-09 22:59:00 +02:00
languages Language: ensure commafy does not corrupt UTF-8 strings 2020-09-18 08:37:56 +00:00
maintenance categoryChangesAsRdf: Add test for categorization 2020-07-31 12:14:11 +02:00
mocks Fix broken PHPDoc comments that don't start with /** 2020-07-23 16:09:41 +00:00
skins
structure Handle CORS preflight request and prevent anon users from unsafe methods 2020-09-21 19:29:40 -04:00
suites Allow independent parser test files to (re)define articles w/ the same names 2020-09-15 16:15:44 -04:00
tests Unit tests: simplify setTemporaryHook() 2020-09-08 21:25:28 +02:00
unit Handle CORS preflight request and prevent anon users from unsafe methods 2020-09-21 19:29:40 -04: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
LessFileCompilationTest.php
Makefile
MediaWikiCliOptions.php
MediaWikiCoversValidator.php
MediaWikiGroupValidator.php
MediaWikiIntegrationTestCase.php MediaWikiIntegrationTestCase docs: call parent::setUp() 2020-09-17 01:10:45 +00:00
MediaWikiLangTestCase.php MediaWikiTestCase to MediaWikiIntegrationTestCase 2020-06-30 17:02:22 +01:00
MediaWikiLoggerPHPUnitTestListener.php
MediaWikiPHPUnitCommand.php
MediaWikiPHPUnitResultPrinter.php phpunit: Move "Logs generated by test" from middle to end of result 2020-05-22 20:48:28 +01:00
MediaWikiPHPUnitTestListener.php Hooks::run() call site migration 2020-05-30 14:23:28 +00:00
MediaWikiTestCaseTrait.php Replace all call_user_func(_array) in all tests 2020-06-06 18:41:20 +02:00
MediaWikiUnitTestCase.php Handle CORS preflight request and prevent anon users from unsafe methods 2020-09-21 19:29:40 -04:00
phpunit.php Call ob_start() before running tests 2020-05-25 13:55:28 +10:00
PHPUnit4And6Compat.php
PHPUnit6And8Compat.php
README
ResourceLoaderTestCase.php MediaWikiTestCase to MediaWikiIntegrationTestCase 2020-06-30 17:02:22 +01:00
run-tests.bat
suite.xml phpunit: fail on warnings 2020-09-09 20:19:52 +02: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