wiki.techinc.nl/tests/phpunit
Antoine Musso f909c62d64 improve namespace related methods
MWNamespace::getTalk() could give erroneus results when using it on specials
namespaces (NS_MEDIA, NS_SPECIAL). It now use MWNamespace::isMethodValidFor()
which will throw an exception if a special namespace was given.

MWNamespace::getSubject() is now returning identity for specials namespaces.

New MWNamespace::getAssociated() used to find out the subject page of a talk
page and vice versa. Special namespaces will results in an exception.


TESTS:

Added tests for almost complete code coverage. Functions relying on global
$wgCanonicalNamespaces are still incomplete though.
MWNamespace::isMovable() needs more assertions.

Tests results (ignoring incomplete tests output):

$ php phpunit.php --filter MWNamespace
PHPUnit 3.5.10 by Sebastian Bergmann.

.........IIIII..........

Time: 1 second, Memory: 31.75Mb

OK, but incomplete or skipped tests!
Tests: 24, Assertions: 99, Incomplete: 5.
2011-02-21 22:17:06 +00:00
..
includes improve namespace related methods 2011-02-21 22:17:06 +00:00
languages Rename MediaWikiTestSetup to MediaWikiTestCase: this is going to be the base class for all unit tests from now on 2010-12-28 17:45:33 +00:00
suites * Replaced $wgMessageCache by MessageCache::singleton(); since we only use one instance of this class (as for ParserCache, LinkCache) 2011-01-26 15:42:04 +00:00
bootstrap.php * Replaced $wgMessageCache by MessageCache::singleton(); since we only use one instance of this class (as for ParserCache, LinkCache) 2011-01-26 15:42:04 +00:00
install-phpunit.sh Installer and doc fixups thanks to Zak Greant. 2010-12-21 18:11:22 +00:00
Makefile Installer and doc fixups thanks to Zak Greant. 2010-12-21 18:11:22 +00:00
MediaWikiPHPUnitCommand.php Add parsertest specific help to PHPUnit.php 2011-01-01 06:49:00 +00:00
MediaWikiTestCase.php Spaces to tabs 2011-02-20 17:52:09 +00:00
phpunit.php Move $wgLocalisationCacheConf disabling from bootstrap.php to phpunit.php 2011-01-21 22:44:40 +00:00
README Wrong URL in README 2010-12-28 04:08:25 +00:00
run-tests.bat Per wikitech-l discussion: Move tests from maintenance/tests/ to tests/. They're not strictly maintenance scripts, and some people want to do a selective checkout that doesn't include the tests. There's still debate on whether we should include these in the release downloads, but we had a pretty firm consensus to move this. 2010-12-14 16:26:35 +00:00
suite.xml Make MediaWikiParserTest work now in PHPUnit. There are still a few bugs, such as stopping tests if one fails, 2010-12-29 02:23:51 +00:00
TODO Per wikitech-l discussion: Move tests from maintenance/tests/ to tests/. They're not strictly maintenance scripts, and some people want to do a selective checkout that doesn't include the tests. There's still debate on whether we should include these in the release downloads, but we had a pretty firm consensus to move this. 2010-12-14 16:26:35 +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