Module::Spy - Spy for Perl5
Spy for class method.
use Module::Spy; my $spy = spy_on('LWP::UserAgent', 'request'); $spy->and_returns(HTTP::Response->new(200)); my $res = LWP::UserAgent->new()->get('http://mixi.jp/');
Spy for object method
use Module::Spy; my $ua = LWP::UserAgent->new(); my $spy = spy_on($ua, 'request')->and_returns(HTTP::Response->new(200)); my $res = $ua->get('http://mixi.jp/'); ok $spy->called;
Module::Spy is spy library for Perl5.
my $spy = spy_on($class|$object, $method)
Create new spy. Returns new Module::Spy::Class or Module::Spy::Object instance.
$spy->called() :Bool
$spy->and_called() :Bool
Returns true value if the method was called. False otherwise.
$spy->returns($value) : Module::Spy::Base
$spy->and_returns($value) : Module::Spy::Base
Stub the method's return value as $value.
$value
Returns <$spy> itself for method chaining.
<$spy
$spy->calls_any() : Bool
Returns false if the spy has not been called at all, and then true once at least one call happens.
$spy->calls_count() : Int
Returns the number of times the spy was called
$spy->calls_all() : Int
Returns arguments passed all calls
$spy->calls_most_recent() : ArrayRef
Returns arguments for the most recent call
$spy->calls_first() : ArrayRef
Returns arguments for the first call
$spy->calls_reset()
Clears all tracking for a spy
The interface was inspired from Jasmine library http://jasmine.github.io/.
Copyright (C) Tokuhiro Matsuno.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Tokuhiro Matsuno <tokuhirom@gmail.com>
To install Module::Spy, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Module::Spy
CPAN shell
perl -MCPAN -e shell install Module::Spy
For more information on module installation, please visit the detailed CPAN module installation guide.