There are two modules on CPAN, curiously called UNIVERSAL::isa and UNIVERSAL::can which fix this problem. Read the documentation for a detailed discussion about this issue, including the problems with Test::MockObject.
Comment on Re: Test::MockObject doesn't fool UNIVERSAL