in reply to Re: Mocking a method defined in a Moo Role
in thread Mocking a method defined in a Moo Role

use strict; use warnings; package MyRole; use Moo::Role; sub call { my $self = shift; return undef; } package MyClass; use Moo; with 'MyRole'; around call => sub { my ($orig, $self) = @_; my $document = $self->$orig; unless ($document) { die 'Error'; } return $document; }; package main; use Test::More; no strict 'refs'; no warnings qw/redefine once/; *MyClass::call = sub { "tada!" }; ok my $class = MyClass->new(); ok $class->call(); done_testing;

Replies are listed 'Best First'.
Re^3: Mocking a method defined in a Moo Role
by choroba (Cardinal) on Jun 29, 2016 at 15:35 UTC
    Which part of the code mocks the MyRole's call ?

    ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,