NAME
Test::Mock::One - Mock the world with one object
VERSION
version 0.001
SYNOPSIS
use Test::Mock::One;
my $mock = Test::Mock::One->new(
foo => 'return value',
bar => 1,
hashref => \{ foo => bar },
arrayref => \[ foo => bar ],
code => sub { return your_special_function },
# Override various things
X-Mock-Strict => 1,
X-Mock-Stringify => sub { return 'foo' },
X-Mock-ISA => sub { return 'foo' },
);
$mock->foo; # 'return value'
$mock->bar; # 1
$mock->hashref; # { foo => bar}
$mock->arrayref; # [ foo, bar ]
$mock->code; # executes your_special_function
DESCRIPTION
Be able to mock many things with little code by using AUTOLOAD.
METHODS
new
Ways to override specific behaviours
- X-Mock-Strict
-
Boolean value. Undefined attributes will not be mocked and calling them makes us die.
- X-Mock-ISA
-
Mock the ISA into the given class. Supported ways to mock the ISA:
X-Mock-ISA => 'Some::Pkg', X-Mock-ISA => qr/Some::Pkg/, X-Mock-ISA => [qw(Some::Pkg Other::Pkg)], X-Mock-ISA => sub { return 0 }, X-Mock-ISA => undef,
- X-Mock-Stringify
-
Tell us how to stringify the object
X-Mock-Stringify => 'My custom string', X-Mock-Stringify => sub { return "foo" },
isa
Override the ISA from the object
AUTHOR
Wesley Schwengle <wesleys@opperschaap.net>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2017 by Wesley Schwengle.
This is free software, licensed under:
The (three-clause) BSD License