Поддельная среда CGI для внешней программы - PullRequest
3 голосов
/ 05 мая 2011

Предположим, у меня есть CGI-скрипт, не обязательно написанный на Perl, и я хочу протестировать его.

Конечно, я могу просто использовать веб-сервер и LWP :: UserAgent, но я думаю, что это немного излишне.

Итак, как я могу запустить CGI-программу из perl? Например. в псевдокоде:

my $reply = fake_cgi("/path/to/prog.cgi", foo=>"bar", count=>1);
like ($reply->content, qr/<title>/, "Title is always present");

Я нашел этот совет , но я все равно предпочел бы готовый модуль.

Ответы [ 2 ]

4 голосов
/ 05 мая 2011

Я думаю CGI::Test - это то, что вы ищете.Я не использовал его сам, но это документы говорят,

Модуль CGI :: Test предоставляет среду регрессионного тестирования CGI, которая позволяет вам запускать ваши программы CGI в автономном режиме, то есть вне веб-сервера,и взаимодействовать с ними программно, без необходимости вводить данные и щелкать из веб-браузера.

и

Обратите внимание, что сценарии CGI можно тестировать с помощью CGI ::Тестирование не обязательно должно быть реализовано в Perl.Что касается этой среды, то CGI-скрипты - это исполняемые файлы, которые запускаются в CGI-подобной среде и которые выдают результат.

1 голос
/ 05 мая 2011

CGI-программа может выполняться как обычное приложение. Он берет свои входные параметры из STDIN и ENV (переменные среды). Таким образом, вы должны вызывать переменные и читать STDOUT программы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...