# Setup the mockery my $entity = Test::MockObject->new(); $entity->fake_module('foo::entity'); my $error = undef; $entity->mock('error',sub {shift; &mock_accessor_var(\$error,@_)}); my $reqbody = undef; $entity->mock('reqbody',sub {shift; &mock_accessor_var(\$reqbody,@_)}); # Do the tests $entity->reqbody('blah'); my $r = $reqproc->decode($entity); ok(!$r, 'Bad request expected to fail'); ok($entity->error eq 'XDOMERR', 'Got XDOMERR'); # the accessor to var mocker sub mock_accessor_var { my $var = shift; if(@_){ $$var = shift; } else{ return $$var; } }