PHPUnit is the de-facto standard for unit testing in PHP projects. It provides both a framework that makes the writing of tests easy as well as the functionality to easily run the tests and analyse their results.
- PHPUnit 3.8 requires PHP 5.4.7 (or later).
- PHP_CodeCoverage, the library that is used by PHPUnit to collect and process code coverage information, depends on Xdebug 2.2.1 (or later).
There a three supported ways of installing PHPUnit.
You can use the PEAR Installer or Composer to download and install PHPUnit as well as its dependencies. You can also download a PHP Archive (PHAR) of PHPUnit that has all required (as well as some optional) dependencies of PHPUnit bundled in a single file.
The following two commands (which you may have to run as root
) are all that is required to install PHPUnit using the PEAR Installer:
pear config-set auto_discover 1
pear install pear.phpunit.de/PHPUnit
To add PHPUnit as a local, per-project dependency to your project, simply add a dependency on phpunit/phpunit
to your project's composer.json
file. Here is a minimal example of a composer.json
file that just defines a development-time dependency on PHPUnit 3.7:
{
"require-dev": {
"phpunit/phpunit": "3.7.*"
}
}
wget http://pear.phpunit.de/get/phpunit.phar
chmod +x phpunit.phar
The documentation for PHPUnit is available in different formats:
- English, multiple HTML files
- English, single HTML file
- English, PDF
- English, ePub
- French, multiple HTML files
- French, single HTML file
- French, PDF
- French, ePub
- Japanese, multiple HTML files
- Japanese, single HTML file
- Japanese, PDF
- Japanese, ePub
The #phpunit channel on the Freenode IRC network is a place to chat about PHPUnit.
Thanks to everyone who has contributed to PHPUnit! You can find a detailed list of contributors on every PHPUnit related package on GitHub. This list shows only the major components:
A very special thanks to everyone who has contributed to the documentation and helps maintaining the translations:
Please refer to CONTRIBUTING.md for information on how to contribute to PHPUnit and its related projects.