I use Test::MockObject::Extends version 0.20 and Params::Validate version 0.76, both of them come with debian stable.
Anyway, I have found a workaround. I have changed the test script like this:
#!/usr/bin/perl
use strict;
use warnings;
use Test::MockObject;
my $mock = Test::MockObject->new;
$mock->fake_module(
'MyApp::Property',
new => sub { bless {}, 'MyApp::Property' },
id => sub { 1 },
su_pwd => sub { 'password' }
);
my $mock_property = MyApp::Property->new;
my $admin = MyApp::Admin->new(owner => $mock_property, id => 0);
is_deeply(
$admin,
{
admin_id => 0,
domain_id => '1',
firstname => 'Super',
lastname => 'User',
username => 'su',
password => 'password',
},
"new() with id eq '0' (superuser)"
);
--------------
badaiaqrandista
|