wiki.techinc.nl/tests/phpunit
Petr Pchelko 816e02ae51 Convert RevisionRecord to Authority and PageIdentity
As we convert the RevisionRecord to using Authority,
we no longer need Title instances, so we can convert
that to PageIdentity.

Ideally, we'd part away from using Title at all, but:
1. For foreign wikis PageIdentity has stronger validation,
so calling PageIdentity getId() on Title will break things.
There's still a lot of code depending on lax Title guarantees,
so we keep it.
2. A lot of code still depends on Title, so we try to pass it
through even if we don't nesessarily need to, to save cost
on recreating it later on.

Bug: T271458
Depends-On: I287400b967b467ea18bebbb579e881a785a19158
Change-Id: I63d9807264d7e2295afef51fc9d982447f92fcbd
2021-01-21 13:37:01 -06:00
..
data exception: Add test for MWExceptionHandler trace formatting 2021-01-13 23:26:48 +00:00
docs
includes Convert RevisionRecord to Authority and PageIdentity 2021-01-21 13:37:01 -06:00
integration/includes Convert RevisionRecord to Authority and PageIdentity 2021-01-21 13:37:01 -06: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 Convert RevisionRecord to Authority and PageIdentity 2021-01-21 13:37:01 -06:00
skins
structure Remove broken/outdated @param/@throws tags from @dataProviders 2021-01-21 03:42:42 +00: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 Convert RevisionRecord to Authority and PageIdentity 2021-01-21 13:37:01 -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
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 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