wiki.techinc.nl/tests/phpunit
Timo Tijhof 86a771beff Message: Clean up unit tests and improve code coverage
* Remove unnecessary use of ReflectionClass. It was testing
  internal properties that aren't part of the API. Using the
  getters instead.

* Remove need for func_get_args that was making the test more
  complex and the data provider hard to read. Simply maintain
  it as array of expected params and array of variadic arguments.

* Rename tests to more closely match tested methods.

* Rename data providers to provide*, and make them static.

* Reorder tests to more closely match logical order of the class.

* Improve line coverage from 31% to 67%.

Also:
* Remove testParams (dupes testConstructorParams).
* Add tests for RawMessage class.
* Add tests for transformation and parsing.
* Add tests for wfMessage().
* Add tests for Message::newFrom*.
* Add tests for "$*" replacement.
* Add tests for __toString.

Change-Id: I2b183a66f9e9f51bd800088e174b1ae4d3284d8d
2015-04-02 08:36:19 +01:00
..
data SECURITY: Don't allow entities in XMP with HHVM 2015-04-01 09:56:43 -07:00
docs Clean up ExportDemoTest 2014-03-07 21:17:08 +00:00
includes Message: Clean up unit tests and improve code coverage 2015-04-02 08:36:19 +01:00
languages tests: Clean up file headers 2015-04-01 00:17:12 +01:00
maintenance Fix and re-enable Dumps' checkpoint tests 2015-02-20 00:56:40 +01:00
mocks Add missing @param to function docs 2014-08-18 16:24:59 +00:00
skins Fixed some @params documentation (tests) 2014-04-17 20:43:42 +02:00
structure tests: Clean up file headers 2015-04-01 00:17:12 +01:00
suites Convert more wfRunHooks() --> Hooks::run() 2014-12-12 14:47:31 -08:00
tests Throw exception when trying to stash unset globals 2014-03-09 14:52:40 +01:00
bootstrap.php Remove phpunit profiling. It doesn't make any sense 2015-02-10 18:50:52 +00:00
install-phpunit.sh Fix PHPUnit version to 3.7.35 2014-05-10 11:20:06 +00:00
LessFileCompilationTest.php Don't create Language objects during ResourceLoader tests 2014-12-18 16:52:28 -08:00
Makefile Typo fixes and non-code tweaks 2014-12-12 18:31:15 +00:00
MediaWikiLangTestCase.php Pass phpcs-strict on some test files (1/x) 2014-04-24 17:05:32 +02:00
MediaWikiPHPUnitTestListener.php Move debug-tests out of MediaWikiPHPUnitCommand 2014-08-02 21:34:34 +00:00
MediaWikiTestCase.php MediaWikiTestCase: Consistently use UTSysop user in setup/teardown 2015-03-25 18:56:14 +00:00
phpunit.php MWException: Log stack traces for php errors (not exceptions) 2014-11-16 14:37:15 +01:00
README
ResourceLoaderTestCase.php resourceloader: Implement '$pages' parameter to ResourceLoaderWikiModule constructor 2015-03-03 17:17:02 +00:00
run-tests.bat
suite.xml tests: Remove resources/ from phpunit coverage 2015-01-26 13:48:53 -08:00
TODO format the tests/phpunit/TODO document for readability 2014-05-15 11:21:51 +00:00

== MediaWiki PHPUnit Tests ==

The unit tests for MediaWiki are implemented using the PHPUnit testing
framework and require PHPUnit to run.


=== WARNING ===

Some of the unit 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 PHPUnit is not installed, follow the installation instructions in the
PHPUnit Manual at:

  http://www.phpunit.de/manual/current/en/installation.html

- or -

On Unix-like operating systems, run:

  make install


== 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 unit tests for MediaWiki can be found at:

	http://mediawiki.org/wiki/Unit_Testing