#!perl use v5.22; use warnings; use Test::Deep; use Test::More; BEGIN { package MockObj; use Moo; use Types::Standard qw(ArrayRef Str); use namespace::autoclean; has 'files' => ( # `rpw` would be better as, in practice, # this is only used inside the class is => 'rw', isa => ArrayRef[Str], ); 1; }; my $mock = MockObj->new; my @list = ('string one', 'Different string', 'With feeling'); note explain \@list; $mock->files( \@list ); my @strings = $mock->files; note explain \@strings; cmp_deeply(\@strings, bag(@list)); done_testing;