A function mocking utility for PHP
This library allows for mocking non-existent functions so that they can exist during tests, and their invocation be tracked and evaluated.
$mocker = new \Mockarena\Mockarena();
$fn = $mocker->mock('add_filter');
add_filter('login_url', 'some_func');
assert(count($fn->calls) === 1);
assert($fn->calls[0] == ['login_url', 'some_func']);
$fn->calledWith(1, 2)->willReturn(300);
$result = add_filter(1, 2);
assert($result === 300);