在分发中自动测试Perl CGI脚本

时间:2013-05-29 21:36:58

标签: perl cgi automated-tests

我最近了解了Module :: Starter并使用它来构建Web应用程序的框架(各种CGI脚本以及相关模块)。能够通过运行make test来测试我的代码是很棒的,但我也想用Test :: WWW :: Mechanize来测试CGI脚本。这需要在运行测试之前在某处安装脚本并配置网络服务器,这似乎是个傻瓜。

在分发中包含这样的测试是否有意义?我的感觉是,我应该让我的模块尽可能多地完成繁重工作并让CGI脚本简单地调用模块函数,但我测试的主要原因之一就是避免了我的CGI中与安全相关的回归。

1 个答案:

答案 0 :(得分:3)

我不知道为什么你说你需要一个网络服务器。 CGI脚本(用Perl或其他任何东西编写)只是一个需要某些输入和certain environment variables to be set的可执行程序,并将HTTP响应写入标准输出。

因此,模拟设置CGI环境变量的东西,对输入进行URL编码,并将输出与预期进行比较。