NAME
Test::Spy::Method - mocked method metadata
SYNOPSIS
my $method = $spy->add_method('method_name');
$method->should_call(sub {
print 'called!';
});
ok !$method->was_called;
DESCRIPTION
This class objects let you set return values and examine call data of a specific method.
Method call result methods
The final method will return on throw whatever was last specified. Calling should_return
will remove the exception throwing, if it was set up with should_throw
, and vice versa.
should_return
$method->should_return(@returns);
Sets up the return value of the method as specified in @returns
.
If it consists of just one element, method will return it as scalar. Otherwise, it will return the entire @returns
array as a list.
Returns $self
, for chaining.
should_call
$method->should_call(sub { ... });
Sets up the method to call the subroutine reference argument.
This subroutine will get all the regular method parameters, including $self
. The subroutine should return whatever the actual method should return.
Returns $self
, for chaining.
should_throw
$method->should_throw('text exception');
$method->should_throw($exception_object);
Instead of returning a specific value or calling a subroutine, the method can be set to always throw a given exception (a scalar value).
Returns $self
, for chaining.
Call history methods
These methods are the same as documented in "Call history methods" in Test::Spy, but when called on this class objects, you don't need to setup "context" in Test::Spy.