mockery/mockery

Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL). Designed as a drop in alternative to PHPUnit's phpunit-mock-objects library, Mockery is easy to integrate with PHPUnit and can operate alongside phpunit-mock-objects without the World ending.

Installs: 6 759 430

Dependents: 4 654

Stars: 1 890

Watchers: 76

Forks: 239

Open Issues: 86

0.9.4 2015-04-02 19:54 UTC

README

Build Status Latest Stable Version Total Downloads

Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL). Designed as a drop in alternative to PHPUnit's phpunit-mock-objects library, Mockery is easy to integrate with PHPUnit and can operate alongside phpunit-mock-objects without the World ending.

Mockery is released under a New BSD License.

The current released version on Packagist is 0.9.4. Composer users may opt to use 0.9.* for the current stable package, or ~1.0@dev for the current master branch. Latest version released through PEAR was 0.9.0; channel is now closed.

Installation

To install Mockery, run the command below and you will get the latest version

composer require --dev mockery/mockery

If you want to run the tests:

vendor/bin/phpunit
Note

The current Mockery 0.9.4 release is the final version to have PHP 5.3 as a minimum requirement. The minimum PHP requirement has been moved to PHP 5.4 for future releases. Also, the PEAR channel has gone offline permanently since 30 June 2015.

Mock Objects

In unit tests, mock objects simulate the behaviour of real objects. They are commonly utilised to offer test isolation, to stand in for objects which do not yet exist, or to allow for the exploratory design of class APIs without requiring actual implementation up front.

The benefits of a mock object framework are to allow for the flexible generation of such mock objects (and stubs). They allow the setting of expected method calls and return values using a flexible API which is capable of capturing every possible real object behaviour in way that is stated as close as possible to a natural language description.

Prerequisites

Mockery requires PHP 5.3.2 or greater for versions 0.9.4 or lower. The current master and future versions are using PHP 5.4 at minimum. This is subject to change as PHP versions reach their published end of life dates.

Documentation

The current version can be seen at docs.mockery.io.