perl - 分发中 Perl CGI 脚本的自动测试

标签 perl cgi automated-tests

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

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

最佳答案

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

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

关于perl - 分发中 Perl CGI 脚本的自动测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16824289/

相关文章:

perl - cgi 猜数字游戏——将值存储在可读可写文件中

c# - C#、WPF项目的自动化测试和持续集成

perl - perl中读取大日志文件的方法及其比较

perl - 有人可以解释 Perl 中的哈希吗?

string - Perl 范围字符串 ID

perl - 如何使用 Perl 提供图像并具有一定的安全性和最少的资源?

Perl CGI 工具中的 Apache 超时

java - 当页面左右滚动时,如何在 Selenium 中捕获整个屏幕

winforms - TAFX 可以识别 win 表单应用程序上的不同颜色吗?

mysql - 使用 INSERT INTO ... ON DUPLICATE KEY 时绑定(bind) MySQL 变量