On Thu, Oct 25, 2012 at 04:05:05PM +0100, David Cantrell wrote:
> I'm liberating some code that we use at work. A first cut at CPAN-
> ising it is here (yes, I know it has no tests yet):
> https://github.com/DrHyde/perl-Devel-Mockable
>
> What do people think? The aim is to:
I just took a quick glance while I had a minute, so this isn't very
in-depth:
- our::way: is that a local pragma? it isn't on cpan.
- instead of manually writing into the symbol table, use one of the export
modules: Exporter, Sub::Exporter, Exporter::Declare etc.
- I'm not sure if this belongs in the Devel namespace - someone else with
better knowledge of the nomenclature would be better able to say.
How does this add value above simply storing a class name in an accessor
(e.g. a Class::Accessor field or Moose attribute)? In moose, I could do
this:
has useragent => ( is => 'ro', isa => 'Str', default => 'LWP::UserAgent' );
and then in testing, simply construct my class as:
my $obj = Foo->new(..., useragent => 'Test::LWP::UserAgent');
...to swap out its implementation with something that is mockable.
--
Don't anthromoporphize computers. They _hate_ that!
. . . . .
Karen Etheridge, [email protected] GCS C+++$ USL+++$ P+++$ w--- M++