j'ai couru ce script de test:Pourquoi ne pas accepter accepter -MCarp = verbose?
use strict;
use warnings;
use Test::More tests => 3;
use Carp;
ok(1<2);
pass();
fail();
croak "example";
en utilisant la ligne de commande prove -MCarp=verbose -v foo.pl
, et a obtenu les erreurs suivantes:
Subroutine App::Prove::verbose redefined at /opt/ActivePerl-5.12/lib/App/Prove.pm line 407
App::Prove::_load_extension('App::Prove=HASH(0x683718)', 'Carp=verbose') called at /opt/ActivePerl-5.12/lib/App/Prove.pm line 419
App::Prove::_load_extensions('App::Prove=HASH(0x683718)', 'ARRAY(0x683850)') called at /opt/ActivePerl-5.12/lib/App/Prove.pm line 481
App::Prove::run('App::Prove=HASH(0x683718)') called at /opt/ActivePerl-5.12/bin/prove line 11
Undefined subroutine &Carp::verbose called at /opt/ActivePerl-5.12/lib/App/Prove.pm line 484.
Si je cours à l'aide perl -MCarp=verbose foo.pl
il n'y a pas de problème. Qu'est-ce qui cause prove
de rejeter la carpe prolixe? Comment puis-je obtenir une callstack complète de mes tests quand ils croak
sans remplacer global croak
à confess
?
utiliser Carp :: Toujours à la place? – jrockway