Difference between revisions 648508 and 746381 on mediawikiwiki

{{Manual:PHP_unit_testing/navigation}}

You must have PHPUnit 3.6.7 (or later) installed to run the unit tests. Most developers use the very latest PHPUnit version, so there is no guarantee an older one will actually pass the tests we wrote.

{{notice|
Depending on your distribution and configuration, you may have to run the following commands with <code>sudo</code>.
}}

== Install methods ==
Several methods are available to you.
Note the [[#Known issues|known issue below]] the Debian/Ubuntu package is broken

=== MediaWiki PHPUnit installer ===
We provide a shell script for Unix-like operating systems (Ubuntu, Mac OS X, Linux...). The script will attempt to install PHPUnit using various methods and usually manage to get it installed. It will try [http://pear.php.net PEAR], falling back to the [[w:Advanced Packaging Tool|apt]] and [[w:Yellowdog Updater, Modified|yum]] package managers.

The script is located in <tt>tests/phpunit</tt> and requires root access.

Example installing PHPUnit under an Unix system:

<source lang="bash">
$ cd tests/phpunit
$ sudo ./install-phpunit.sh
</source>

This might be the easiest way to install PHPUnit. 

=== Using PEAR ===

PEAR is a package manager for PHP, the MediaWiki PHPUnit installer attempt to use it as a first method. You will obviously need to install pear first.
<syntaxhighlight lang="bash">
$ sudo pear channel-discover pear.phpunit.de
$ sudo pear channel-discover components.ez.no
$ sudo pear channel-discover pear.symfony-project.com
$ sudo pear channel-discover pear.symfony.com
$ sudo pear update-channels
$ sudo pear install --alldeps phpunit/PHPUnit
</syntaxhighlight>

If you're upgrading instead of installing, change the last line to:
<syntaxhighlight lang="bash">
$ sudo pear upgrade --alldeps phpunit/PHPUnit
</syntaxhighlight>

(contracted; show full)== Installation troubleshooting ==
If you get a version error after installation, for example...
 PHPUnit 3.6.7 or later required, you have 3.5.15.
...this means that you probably have more than one version of PHPUnit installed on your machine. You may need to edit your include_path in your php.ini file to point to the location of the newer installation. You may also need to add this path to the PATH variable in your .profile.

== Notes ==

<references />