* Paul LeoNerd Evans <[EMAIL PROTECTED]> [2006-12-31 12:35]:
> On Sun, Dec 31, 2006 at 04:59:16AM +0100, A. Pagaltzis wrote:
> > You’re not using enough magic. If you *really* want to make
> > your tests run even if Test::Exception isn’t installed, stick
> > the test in a BEGIN block that conditionally installs a
> > `dies_ok` stub. Something like
> > 
> >     BEGIN {
> >         unless( eval "use Test::Exception; 1" ) {
> >             *dies_ok = sub { SKIP: {
> >                 skip "Need Test::Exception for: $_[1]", 1;
> >             } };
> >         }
> >     }
> > 
> > Something like that anyway; untested.
> 
> Well, that looks a good start; but maybe we can go one better:
> 
>  BEGIN {
>     unless( eval "use Test::Exception; 1" ) {
>        *dies_ok = sub(&$) {
>           my ( $code, $msg ) = @_;
>           eval { $code->(); 1 } and fail( $msg );
>        };
>     }
>  }
> 
> Is this "as good" as T::E's version?

T::E performs quite a bit more magic than what you have there.

I have no idea if it’s actually necessary or just an artifact of
making the code module-packagable.

Regards,
-- 
Aristotle Pagaltzis // <http://plasmasturm.org/>

Reply via email to