use strict; use warnings; use Test::Builder::Tester; use Test::More; use Test::Moose; { package Foo; use Moose::Role; } { package Bar; use Moose; with qw/Foo/; } { package Baz; use Moose; } # class ok test_out('ok 1 - does_ok class'); does_ok('Bar','Foo','does_ok class'); # class fail test_out ('not ok 2 - does_ok class fail'); test_fail (+2); does_ok('Baz','Foo','does_ok class fail'); # object ok my $bar = Bar->new; test_out ('ok 3 - does_ok object'); does_ok ($bar,'Foo','does_ok object'); # object fail my $baz = Baz->new; test_out ('not ok 4 - does_ok object fail'); test_fail (+2); does_ok ($baz,'Foo','does_ok object fail'); test_test ('does_ok'); done_testing;