/phpunit

The PHP Unit Testing framework.

Primary LanguagePHPOtherNOASSERTION

PHPUnit

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.

Requirements

  • 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).

Installation

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.

PEAR Installer

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

Composer

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.*"
    }
}

PHP Archive (PHAR)

wget http://pear.phpunit.de/get/phpunit.phar
chmod +x phpunit.phar

Documentation

The documentation for PHPUnit is available in different formats:

IRC

The #phpunit channel on the Freenode IRC network is a place to chat about PHPUnit.

List of Contributors

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.