Dopo aver accumulato abbastanza test che eseguirli tutti richiede un po 'di tempo reale, ho guardato il Test::Class::Load
doc per trovare un suggerimento per l'esecuzione di singole classi di test. Fornisce un modo per farlo, ma mi manca qualcosa, perché non riesco a farlo funzionare. Ecco quello che ho:Come posso eseguire test individuali con Test :: Class :: Load?
Il mio test di directory:
drewfus:~/sandbox$ ls t/
lib/ perlcriticrc PerlCritic.t Unit.t
t/Unit.t
è costituito dai seguenti:
use strict;
use warnings;
use Test::Class;
use Test::More 'no_plan';
use Test::Class::Load 't/lib';
Per il suggerimento nel Test::Class::Load
doc, ho una classe di base per ciascuno di mia prova classi da ereditare da, SG::TestBase
che vive a t/lib/SG/TestBase.pm
:
package SG::TestBase;
use strict;
use warnings;
use base 'Test::Class';
INIT { Test::Class->runtests }
1;
E, infine, ecco è una classe ad esempio di test, SG::UtilsTest
a t/lib/SG/UtilsTest.pm
:
package SG::UtilsTest;
use strict;
use warnings;
use base 'SG::TestBase';
BEGIN { use_ok('SG::Utils') };
<etc>
Tutto è ancora peachy se voglio eseguire tutte le prove con Build test
o prove
, ma il tentativo di eseguire un esame individuale doesn 't lavoro:
drewfus:~/sandbox$ prove -lv SG::UtilsTest
Cannot determine source for SG::UtilsTest at /usr/share/perl/5.10/App/Prove.pm line 496
Questo funziona, ma sette anni più tardi la documentazione ha ancora lo stesso errore. – jja