将perl cgi query_string设置为脱机

时间:2015-07-10 08:16:13

标签: perl cgi param modulino

我想为我的cgi脚本编写一些单元测试。我将我的脚本编写为modulino(脚本可能是一个取决于上下文的模块),我想测试它的功能,但也要确保query_string中的所有参数都按照它们的设置。

我尝试过这样的事情:

$ENV{'QUERY_STRING'} = 'param1=some_param';
my $cgi = CGI->new;
print "param1= ".$cgi->param("param1")."\n";

但似乎完全无视这一点。有没有办法设置查询字符串而不实际执行GET方法?

2 个答案:

答案 0 :(得分:1)

您可以将命令行参数与CGI.pm一起使用。

$ index.pl param1=some_param foo=bar

这些将显示在脚本中。但是对于您的应用程序进行单元测试仍然不方便。如果还有网络服务器,您可以使用Test::WWW::Mechanize

答案 1 :(得分:1)

我想我找到了一个解决方案:

$ENV{QUERY_STRING} = 'engine=sample';
$ENV{REQUEST_METHOD} = 'GET';
$ENV{GATEWAY_INTERFACE} = 'CGI/1.1';

显然$ENV{QUERY_STRING}不足以使其发挥作用。

相关问题