Cuando ejecuto una prueba perl usando la utilidad prove
, falla si el método bajo prueba contiene declaraciones print
que no terminan en nuevas líneas.La prueba falla en la prueba si escribe en stdout sin nueva línea
use Test::More tests=>1;
ok(foo(), "calling foo");
sub foo{
print "A";
1;
}
Esto se traduce en
Bad plan. You planned 1 tests but ran 0.
Si añado una nueva línea: print "A\n";
pasa la prueba.
(Tenga en cuenta que si simplemente ejecuto la prueba perl mytest.t
en lugar de usar prove
, pasa de cualquier manera).
¿Alguna idea de por qué esto podría ser y cómo solucionarlo?
Consulte http://stackoverflow.com/q/1538260/1030675 La salida de 'print' interfiere con lo que' probatest' espera. – choroba