我想用Test :: Script模块测试Perl脚本,比如testme.pl,并获取执行脚本的标准输出.undef
到目前为止我得到了一个.
这是我试过的(测试文件test.t
):
use Test::More tests => 2; use Test::Script; use Data::Dumper; script_compiles('testme.pl'); my $out; script_runs(['testme.pl'], {"stdout"=>$out}, 'run_script'); print "Out is " . Dumper($out);
和要测试的脚本(testme.pl
)
print "catchme if you can\n"; boris@midkemia artif_get_file $ perl perl_test.pl 1..2 ok 1 - Script testme.pl compiles ok 2 - run_script Out is $VAR1 = undef;
我也尝试使用数组ref\@out而不是$ out,仍然没有运气.任何的想法?谢谢!
你几乎得到了它.您需要为该stdout
选项提供参考.否则你只是传入,undef
它将忽略该选项.
script_runs(['testme.pl'], {"stdout"=>\$out}, 'run_script');