Después de haber acumulado suficientes pruebas para ejecutarlas, todo lleva tiempo real, miré el Test::Class::Load
doc para encontrar un consejo para ejecutar clases de prueba individuales. Proporciona una manera de hacer esto, pero me falta algo, porque no puedo hacer que funcione. Aquí es lo que tengo:¿Cómo puedo ejecutar pruebas individuales con Test :: Class :: Load?
Mi directorio de prueba:
drewfus:~/sandbox$ ls t/
lib/ perlcriticrc PerlCritic.t Unit.t
t/Unit.t
consiste en lo siguiente:
use strict;
use warnings;
use Test::Class;
use Test::More 'no_plan';
use Test::Class::Load 't/lib';
por la sugerencia en el Test::Class::Load
doc, tengo una clase base para cada uno de mi prueba clases para heredar de, SG::TestBase
que vive en t/lib/SG/TestBase.pm
:
package SG::TestBase;
use strict;
use warnings;
use base 'Test::Class';
INIT { Test::Class->runtests }
1;
Y, por último, aquí es una clase de ejemplo de prueba, SG::UtilsTest
en t/lib/SG/UtilsTest.pm
:
package SG::UtilsTest;
use strict;
use warnings;
use base 'SG::TestBase';
BEGIN { use_ok('SG::Utils') };
<etc>
Todo sigue melocotón si quiero ejecutar todas las pruebas con Build test
o prove
, pero tratando de ejecutar una prueba individual doesn 't trabajo:
drewfus:~/sandbox$ prove -lv SG::UtilsTest
Cannot determine source for SG::UtilsTest at /usr/share/perl/5.10/App/Prove.pm line 496
Esto funciona, pero siete años después la documentación sigue teniendo el mismo error. – jja