2

私は最近、Module::Starter について学び、それを使用して Web アプリのスケルトンを作成しました (CGI スクリプトと関連モジュールの組み合わせ)。自分のコードを実行してテストできるのmake testは素晴らしいことですが、Test::WWW::Mechanize などで CGI スクリプトをテストしたいとも思っています。これには、スクリプトをどこかにインストールし、テストを実行する前に Web サーバーを構成する必要があります。

このようなテストをディストリビューションに含めることは理にかなっていますか? 私の感覚では、モジュールにできる限り多くの面倒な作業を行わせ、CGI スクリプトでモジュール関数を呼び出すだけにする必要がありますが、テストを行う主な理由の 1 つは、CGI でのセキュリティ関連のリグレッションを回避することです。

4

1 に答える 1

3

Webサーバーが必要だと言う理由がわかりません。CGI スクリプト (Perl などで記述) は、特定の入力と特定の環境変数が設定されることを期待し、標準出力に HTTP 応答を書き込む単なる実行可能プログラムです。

したがって、CGI 環境変数を設定するものをモックアップし、入力を URL エンコードし、出力を期待したものと比較します。

于 2013-05-29T21:50:05.640 に答える