forked from mockery/mockery
Cross framework Mock Object and Stub support for PHP5
hairmare/mockery
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Mockery is a Cross Framework Mock Object and Stub Framework for PHP5, currently released as an alpha version for interested developers to assist in offering feedback. It is not yet fully functional, and stability is a relative term :). Requirements: PHP: 5.2.4, probably less but I haven't checked Installation (Manual Installation without PEAR): 1. Copy the contents of /library to a location on the PHP include_path, e.g. /usr/share/php. Yeah, that's pretty much it :). Usage: Mockery defines two functions called mockery() and mockery_verify() which are a shorter means to call Mockery::mock() and Mockery::verify() which are both static methods. A simple use case is as follows: require_once 'Mockery/Framework.php'; class Addition { protected $math = null; public function __construct(Math $math) { $this->math = $math; } public function add($op1, $op2) { return $this->math->add($op1, $op2); } } class Math { public function add($a, $b) { return $a + $b; } } class AdditionTest extends PHPUnit_Framework_TestCase { public function testAdd() { $math = mockery('Math'); $addition = new Addition($math); // set Mock expectations! $math->shouldReceive('add')->once()->with(1, 1)->andReturn(2); // perform the action! $result = $addition->add(1, 1); // Verify? mockery_verify(); // Proceed to assertions (if any) as normal $this->assertEqual(2, $result); } public function testAddWithFailingMock() { $math = mockery('Math'); $addition = new Addition($math); // set Mock expectations! // twice() is obviously wrong $math->shouldReceive('add')->twice()->with(1, 1)->andReturn(2); // perform the action! $result = $addition->add(1, 1); // Verify? mockery_verify(); // Proceed to assertions (if any) as normal $this->assertEqual(2, $result); } } PHPUnit reports: PHPUnit 3.3.14 by Sebastian Bergmann. .E Time: 0 seconds There was 1 error: 1) testAddWithFailingMock(AdditionTest) Mockery_ExpectationException: method add called incorrect number of times; expected call 2 times but received 1 A vastly more detailed introduction including brief API documentation is available on my blog: http://blog.astrumfutura.com/archives/392-The-Mockery-An-Independent-Mock-Object-and-Stub-Framework-for-PHP5.html
About
Cross framework Mock Object and Stub support for PHP5
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- PHP 100.0%