aeris / spy
Test spies
1.1.0
2015-08-13 17:14 UTC
Requires
- mockery/mockery: ^0.9.4
This package is not auto-updated.
Last update: 2026-03-18 16:36:28 UTC
README
Test spies for PHP.
Install
composer require aeris/spy
Overview
An Aeris\Spy allows you to mock callables in PHP. A Spy wraps around a Mockery\ object, which means that you can use Mockery expectations with your Aeris Spies.
For example:
$spy = new Spy();
$spy(5);
$spy(6);
$spy(7);
$spy->shouldHaveBeenCalled()
->twice()
->with(\Mockery::on(function($arg) {
return $arg > 5;
)))
API
shouldHaveBeenCalled() / shouldNotHaveBeenCalled()
$spy = new Spy();
$spy();
$spy->shouldHaveBeenCalled(); // Passes (no exception)
$spy->shouldNotHaveBeenCalled(); // Failed (throws \Mockery\Exception\InvalidCountException)
andReturn($val)
$spy = new Spy();
$spy->andReturn('foo');
$spy(); // 'foo'
andReturnUsing
$spy = new Spy()
$spy->andReturnUsing(function($str) {
strtoupper($str);
});
$spy('foo'); // 'FOO'
Spy::returns($val);
Creates a spy which returns a value. Short-hand for creating a spy, then calling andReturn.
$spy = Spy::returns('foo');
$spy(); // 'foo'
Spy::returnsUsing($callable);
Creates a spy which returns a value via a callable. Short-hand for creating a spy, then calling andReturnUsing.
$spy = Spy::returnsUsing(function($str) {
strtoupper($str);
});
$spy('foo'); // 'FOO'