Après avoir accumulé suffisamment de tests pour les exécuter, tout prend un peu de temps réel, j'ai regardé le Test::Class::Load
doc pour trouver une astuce pour exécuter des classes de test individuelles. C'est un moyen de le faire, mais il me manque quelque chose, car je n'arrive pas à le faire fonctionner. Voici ce que j'ai:Comment puis-je exécuter des tests individuels avec Test :: Class :: Load?
Mon répertoire test:
drewfus:~/sandbox$ ls t/
lib/ perlcriticrc PerlCritic.t Unit.t
t/Unit.t
se compose des éléments suivants:
use strict;
use warnings;
use Test::Class;
use Test::More 'no_plan';
use Test::Class::Load 't/lib';
par la suggestion dans le Test::Class::Load
doc, j'ai une classe de base pour chacun de mon test classes à hériter de, SG::TestBase
qui vit à t/lib/SG/TestBase.pm
:
package SG::TestBase;
use strict;
use warnings;
use base 'Test::Class';
INIT { Test::Class->runtests }
1;
Et enfin, voici une classe de test exemple, SG::UtilsTest
à t/lib/SG/UtilsTest.pm
:
package SG::UtilsTest;
use strict;
use warnings;
use base 'SG::TestBase';
BEGIN { use_ok('SG::Utils') };
<etc>
Tout est encore Peachy si je veux exécuter tous les tests avec Build test
ou prove
, mais en essayant d'exécuter un test individuel doesn « t travail:
drewfus:~/sandbox$ prove -lv SG::UtilsTest
Cannot determine source for SG::UtilsTest at /usr/share/perl/5.10/App/Prove.pm line 496
Cela fonctionne, mais sept ans plus tard, la documentation présente toujours la même erreur. – jja