<div dir="ltr"><div><div><div><div>Если говорить об исходном вопросе, а именно тестировании CGI приложения, хотя можно обобщить до WEB приложения в общем случае, то основной упор делается на функциональное тестирование. Приемочное тетирование, безусловно, имеет место быть, однако, еще ни разу не встречал ПМ-а или манагера, который бы писал приемочные тесты (часто им просто пофигу на тесты).<br>
</div>Спору нет, можно использовать unit-тестирование и для модулей web приложения, но как-то так повелось, что на практике unit тысты создаются только для движка.<br><br></div>Если вернуться к вопросу о тестировании уже существующего CGI приложения, то основная задача состоит в адаптации существующего или созданию своего тестового framework (на базе Test::More, Test::Class, ...), способного создать окружение, подготовить контекст выполнения и собственно выполнить запрос.<br>
</div>Как только у нас это есть, так сразу можно сказать, что задача решена.<br><br></div>MS<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">22 января 2014 г., 13:54 пользователь Mons Anderson <span dir="ltr"><<a href="mailto:mons@cpan.org" target="_blank">mons@cpan.org</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On 21.01.2014, at 23:18, Илья Винокуров <<a href="mailto:ilvin@mail.ru">ilvin@mail.ru</a>> wrote:<br>
<br>
><br>
> Да запросто!<br>
><br>
> Вон у Монса в AnyEvent::HTTP::Server II присутствуют только функциональные тесты, а UNIT тестов нет. Вот давайте и заслушаем доклад, который покажет как писать UNIT тесты для AE. Надеюсь, что в докладе будет подробно расписана техника AE Mock'ов<br>

<br>
</div>А что вы подразмеваете под unit-тестами?<br>
<br>
<br>
> Модульное тестирование, или юнит-тестирование (англ. unit testing) — процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы.<br>
> Идея состоит в том, чтобы писать тесты для каждой нетривиальной функции или метода. Это позволяет достаточно быстро проверить, не привело ли очередное изменение кода к регрессии, то есть к появлению ошибок в уже оттестированных местах программы, а также облегчает обнаружение и устранение таких ошибок.<br>

<br>
Модуль здесь - AE::HTTP::Server.<br>
тесты проверяют, что этот модуль функционирует корректно.<br>
<div class="im"><br>
><br>
> PS: Лично мне этот вопрос очень интересен, если у кого есть ссылки на хорошие методики, поделитесь пожалуйста...<br>
><br>
</div>> ЗЫ: У меня был опыт покрытия UNIT тестами POE клиента. Тесты для POE писались довольно легко, так как у POE все кишки наружу и в тестах можно было оттрасировать все вызовы колбеков и все аргументы функций. А вот к AnyEvent пока не понятно с какого бока подлезть - у него же все на замыканиях зиждется…<br>

><br>
<br>
Есть много способов сделать что-нибудь, но опишите, пожалуйста, цель.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>С уважением<br>Михаил Шогин.<br>
</div>