use strict; use warnings; package Foo; sub new { my $class = shift; return bless {}, $class; } sub bar { my $self = shift; $self->baz; return 1; } sub baz { die; } 1; #### use strict; use warnings; use Foo; use Test::MockObject::Extends; my $foo = Foo->new(); my $mock_foo = Test::MockObject::Extends->new( $foo ); $mock_foo->mock('baz',sub { 1 }); $mock_foo->bar;