php-mock/php-mock-mockery
Integrates php-mock with Mockery to mock PHP built-in functions in tests. Create namespaced function mocks with PHPMockery::mock() and set expectations/returns, then call Mockery::close(). Supports only unqualified calls; define early if needed.
This package integrates the function mock library PHP-Mock with Mockery.
Use Composer:
composer require --dev php-mock/php-mock-mockery
PHPMockery::mock()
let's you build a function mock which can be equiped
with Mockery's expectations. After your test you'll have to disable all created
function mocks by calling Mockery::close().
namespace foo;
use phpmock\mockery\PHPMockery;
$mock = PHPMockery::mock(__NAMESPACE__, "time")->andReturn(3);
assert (3 == time());
\Mockery::close();
This library comes with the same restrictions as the underlying
php-mock:
Only unqualified function calls in a namespace context can be mocked.
E.g. a call for time() in the namespace foo is mockable,
a call for \time() is not.
The mock has to be defined before the first call to the unqualified function
in the tested class. This is documented in Bug #68541.
In most cases you can ignore this restriction. But if you happen to run into
this issue you can call PHPMockery::define()
before that first call. This would define a side effectless namespaced function.
This project is free and under the WTFPL. Responsable for this project is Markus Malkusch markus@malkusch.de.
If you like this project and feel generous donate a few Bitcoins here: 1335STSwu9hST4vcMRppEPgENMHD2r1REK
How can I help you explore Laravel packages today?