NAKAGAWA Masaki > Test-Double-0.03 > Test::Double

Download:
Test-Double-0.03.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.03   Source   Latest Release: Test-Double-0.05

NAME ^

Test::Double - Perl extension for Test Double.

SYNOPSIS ^

  package Foo;
  sub new { bless {}, shift }
  sub bar { 'bar' }
  
  # in your tests
  use Test::More;
  use Test::Double;
  
  my $foo = Foo->new;
  is $foo->bar, 'bar', 'bar() returns "bar"';
  
  # stub out
  stub($foo)->bar('BAR');
  is $foo->bar, 'BAR', 'stubbed bar() returns "BAR"';
  
  # mock out
  mock($foo)->expects('bar')->returns('BAR');
  is $foo->bar, 'BAR', 'mocked bar() returns 'BAR';
  
  done_testing;

DESCRIPTION ^

Test::Double is a Perl extension for Test Double.

METHODS ^

stub($object)

Returns stub object. This object accepts any methods for stubbing using AUTOLOAD mechanism.

  stub($object)->some_method($expected_value);
  # after, $object->some_method() returns $expected_value

See http://xunitpatterns.com/Test%20Stub.html

mock($object)

Returns mock object. This object can be defined expectation by calling expects() method.

  mock($object)->expects('some_method');
  # after, $object->some_method() returns $expected_value

See Test::Double::Mock

AUTHOR ^

NAKAGAWA Masaki <masaki@cpan.org>

LICENSE ^

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO ^

http://xunitpatterns.com/Test%20Double.html

syntax highlighting: