2

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

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

4

1 回答 1

3

我不知道你为什么说你需要一个网络服务器。CGI 脚本(用 Perl 或其他任何东西编写)只是一个可执行程序,它期望设置某些输入和某些环境变量,并将 HTTP 响应写入标准输出。

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

于 2013-05-29T21:50:05.640 回答