Object Oriented Testing - Example
use Test::MockObject;
my $mock = Test::MockObject->new();
$mock->fake_module( 'Credit::Card::Backend' );
$mock->fake_new( 'Credit::Card::Backend' );
$mock->set_true( 'authorize_card' );
$mock->set_true( 'finalize_payment' );
use Shopping::Cart;
my $cardnum = '4444333322221111';
my $expdate = '09/10';
my $product = 'MX5 Stealth kitten';
my $cart = Shopping::Cart->new();
ok( $cart->add_by_name(product_name => $product);
ok( $cart->checkout(
expdate => $expdate,
cardnum => $cardno,
) );
|