当前位置:  开发笔记 > 编程语言 > 正文

如何从Test :: Script运行stdout?

如何解决《如何从Test::Script运行stdout?》经验,为你挑选了1个好方法。

我想用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,仍然没有运气.任何的想法?谢谢!



1> Schwern..:

你几乎得到了它.您需要为该stdout选项提供参考.否则你只是传入,undef它将忽略该选项.

script_runs(['testme.pl'], {"stdout"=>\$out}, 'run_script');

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有