wiki.techinc.nl/tests/phpunit
daniel bf28ebd4ef HookContainer: allow registering broken callables.
Extensions may implement hooks defined by other extensions.
When the other extension is not present, the base class or interface of
the hook handler may also not be present. In that case, we should still
allow the handler to be registered. This is harmless, since the hook
will never fire if the extension that defines it is not loaded.

Bug: T339834
Change-Id: Id975370dececcb09ae5d00e6f68da57dc22fb267
2023-08-22 16:30:44 +00:00
..
data LocalisationCache: Add tests for preload behavior 2023-08-08 13:09:34 +02:00
docs tests: Unbreak and actually run ExportDemoTest 2023-08-08 15:30:54 +00:00
includes Remove ak from core 2023-08-21 18:46:33 -07:00
integration/includes tests: Use namespaced MediaWiki\Request\FauxRequest 2023-08-20 01:54:10 +02:00
maintenance Reorg: Move MWTimestamp to MediaWiki\Utils 2023-08-19 05:53:40 +02:00
mocks HookContainer: allow registering broken callables. 2023-08-22 16:30:44 +00:00
structure tests: Use namespaced Wikimedia\Rdbms\IDatabase 2023-08-20 15:18:57 +02:00
suites phpunit: Delete DummyExtensionsTest 2023-07-17 12:16:27 +00:00
tests Make some methods static in MediaWikiIntegrationTestCase 2023-08-15 20:53:13 +00:00
unit HookContainer: allow registering broken callables. 2023-08-22 16:30:44 +00:00
bootstrap.common.php phpunit: Set the MW_INSTALL_PATH env variable if needed 2023-07-17 15:28:26 +02:00
bootstrap.integration.php phpunit: Streamline loading of Setup.php 2023-07-13 03:21:45 +02:00
bootstrap.maintenance.php Merge "Avoid mentioning tests/phpunit.php in documentation" 2023-07-24 16:32:47 +00:00
bootstrap.php phpunit: Streamline loading of Setup.php 2023-07-13 03:21:45 +02:00
HamcrestPHPUnitIntegration.php
MediaWikiCoversValidator.php
MediaWikiGroupValidator.php Make isTestInDatabaseGroup static and case-sensitive 2023-08-15 21:01:03 +00:00
MediaWikiIntegrationTestCase.php Follow-Up 77d4c2c: Make getExistingTestPage() check content type first 2023-08-17 09:17:44 +08:00
MediaWikiLangTestCase.php
MediaWikiLoggerPHPUnitExtension.php
MediaWikiPHPUnitResultPrinter.php
MediaWikiTeardownPHPUnitExtension.php phpunit: Use PHPUnit hooks to tear down the test DB after the last test 2023-07-13 01:10:11 +02:00
MediaWikiTestCaseTrait.php phpunit: Add temporary overrides for assertObject(Not)HasAttribute 2023-08-20 00:22:24 +02:00
MediaWikiUnitTestCase.php phpunit: Disallow access to MediaWikiServices in unit tests 2023-08-11 00:36:47 +00:00
MWTestDox.php
phpunit.php phpunit: Deprecate tests/phpunit/phpunit.php script 2023-07-12 19:28:39 +00:00
README.md
ResourceLoaderTestCase.php ResourceLoader: Switch Resources.php to MW_INSTALL_PATH 2023-07-31 13:00:27 +02:00
suite.xml tests: Unbreak and actually run ExportDemoTest 2023-08-08 15:30:54 +00:00
TestSelectQueryBuilder.php

MediaWiki PHPUnit tests

WARNING: Integration tests may be destructive and alter or remove parts of your local database. We try to use temporary tables where possible, but you must never run tests on a production server or on a wiki where you don't want to lose data.

Running tests

If you haven't already, run composer update (specifically without --no-dev) in the MediaWiki core directory. This will install PHPUnit.

To read about how to run specific tests, refer to:

https://www.mediawiki.org/wiki/Manual:PHP_unit_testing/Running_the_tests

Writing tests

A guide to writing PHPUnit tests for MediaWiki can be found at:

https://www.mediawiki.org/wiki/Manual:PHP_unit_testing