[Moscow.pm] Тестирование CGI

Ruslan Zakirov ruslan.zakirov на gmail.com
Вс Окт 25 12:35:26 PDT 2009


Привет, Дмитрий.

Мы используем Test::WWW::Mechanize. Больше ничего в тестах не нужно,
кроме MyApp::Test с утилитами по управлению сервером, импортированию
функций, созданию БД и прочего. Можно еще завести MyApp::Test::Web с
утилитами для упрощения тестирования веб интерфейса.

Сервер можно поднимать на реальном apache, конфиги генерить, но проще
HTTP::Server::Simple использовать. H::S::S удобен тем что он форкается
и можно предварительно в переменных все настроить и потом форкнуть.

Раньше мы тестировали на боевом сервере, типа поднял сервак и тесты
запустил. С одно стороны хорошо, можно было тест натравить на сервер в
продакшене, но проблем не меньше. Конфигурацию из тестов не поменяешь,
базу с нуля не создашь. Потом перешли на независимое тестирование с
H::S::S. Куча проблем ушла и покрытие увеличилось в несколько раз.
Стало возможно менять конфигурацию прямо в тестах, создавать пустую БД
перед началом, запускать все тесты с различными опциями. Теперь я еще
написал код для генерации конфигов для апача и mod_perl/FCGI. Возникло
несколько проблем, но в итогу мы еще можем и на apache и других
серверах тестироваться.

Для тестирования JS есть http://seleniumhq.org/, но пока кто-то из
наших только экспериментировал, но не используем постоянно.

2009/10/25 Dmitry E. Oboukhov <unera на debian.org>:
> имеется ввиду написание тестов для cgi-ек. кто какие решения
> использует? особенно в контексте что cgi-ка иногда ходит по базам
> данных итп. тестирование модулей понятно, а как быть с тестированием
> cgi? особо в контексте возможных POST-запросов.
>
> есть ли какие-то решения окромя снятия снапшота с енвиронмента (но это
> только GET)
> --
> ... mpd is off
>
> . ''`.                               Dmitry E. Oboukhov
> : :’  :   email: unera на debian.org jabber://UNera@uvw.ru
> `. `~’              GPGKey: 1024D / F8E26537 2006-11-21
>  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iEYEAREDAAYFAkrkkPAACgkQq4wAz/jiZTfyxwCffnk72Wjac0C+QP3KRWVUGkZh
> 2HQAnRySFwLeR7BtTD0rmRZapX8hI5YZ
> =c8EM
> -----END PGP SIGNATURE-----
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>



-- 
Best regards, Ruslan.


Подробная информация о списке рассылки Moscow-pm