wiki.techinc.nl/tests/phpunit
Max Semenik 36009e3ca7 Shell: skip null parameters
Right now they're treated as empty strings, however
this doesn't allow skipping parameters in the middle like
 $params = [
     'foo',
     $x ? '--bar' : null,
     '--baz',
 ];

In some cases this matters, e.g. `ls` works while `ls ''` doesn't.

Also, fix spacing problems the new tests uncovered:
* Extra space when using params()
* Missing space when combining params() and unsafeParams()

Change-Id: Icb29d4c48ae7f92fb5635e3865346c98f47abb01
2017-11-29 12:38:35 -08:00
..
data Merge "Add a few schemas to SQLite tests" 2017-10-17 22:37:32 +00:00
docs
includes Shell: skip null parameters 2017-11-29 12:38:35 -08:00
languages Crimean Tatar Transliteration 2017-11-20 16:56:38 -05:00
maintenance Refactor some Installer code into ExecutableFinder 2017-10-26 11:42:05 -07:00
mocks RCFilters: define consistent interface in ChangesListFilterGroup 2017-10-18 12:44:51 -07:00
skins tests: Replace implicit Bugzilla bug numbers with Phab ones 2017-02-21 02:14:34 +00:00
structure Add string length limits 2017-11-21 10:24:11 +00:00
suites Check requirements for parser test suite in phpunit tests 2017-09-14 19:03:02 +00:00
tests phpunit: Avoid use of deprecated getMock for PHPUnit 5 compat 2017-04-06 00:44:32 +00:00
autoload.ide.php Setup: Include StartProfiler before others 2017-11-09 16:35:19 -08:00
bootstrap.php
LessFileCompilationTest.php
Makefile Refactor parser tests 2016-09-12 16:11:42 +10:00
MediaWikiLangTestCase.php
MediaWikiPHPUnitTestListener.php
MediaWikiTestCase.php Clarify the use of @group Database in MediaWikiTestCase 2017-11-23 19:19:14 +00:00
phpunit.php phpunit.php: omit --quiet in help 2017-09-17 06:15:38 +00:00
README
ResourceLoaderTestCase.php Improve some parameter docs 2017-09-10 20:32:31 +02:00
run-tests.bat
suite.xml phpunit: Exclude /languages/messages from coverage report 2017-07-27 21:03:18 -07:00
TODO

== 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 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