[Moscow.pm] Mojolicious тестирование UserAgent'ов

Ruslan Zakirov ruz на bestpractical.com
Пт Окт 14 06:26:49 PDT 2011


2011/10/14 Анатолий Шарифулин <sharifulin на gmail.com>:
> Только Test::Mojo, а Mojo::UserAgent может быть не блокирующим.
> В тест окружение можете сделать разные конфиги, тогда запросы будут идти на
> ваш тестовый сервер.
> Вообще Test::Mojo не поднимает тестовый сервер, а подключает приложение как
> модуль и совершает к нему запросы напрямую, либо просто шлёт запросы по
> нужному протоколу (HTTP или ws).

Если так, то можно переопределить функцию, которая шлет запросы и
возвращает ответы. Генерить ответы можно прямо в тестах.

> 2011/10/14 Ivan Petrov <i.petro.77.00 на gmail.com>
>>
>> Насколько я понимаю Mojo::Test подымает тестовый сервер, делает
>> запросы к нему.
>>
>> теперь есть некий проект на Mojo, в каком-то из роутов которого
>> делаются http-запросы к удаленному серверу (RPC).
>>
>> Соответственно хотим потестить этот роут:
>>
>> пишем тест на Mojo::Test который делает post/get-запросы, которые в
>> свою очередь инициируют запросы на удаленный сервер.
>>
>> теперь мы хотим чтобы на прохождение тестов удаленный сервер не влиял.
>> то есть нам надо чтобы запросы на удаленный сервер приходили к нам же
>> в тест.
>>
>> Вопрос: как поднять в тесте тестовый Mojo-сервер, к которому сможет
>> обратиться тестируемый роут да еще так чтобы это все не
>> заблокировалось?
>>
>> есть примерчик?
>>
>> для AE мы обычно используем
>>
>> AE::HTTP + AE::HTTPD - поскольку там все запросы неблокирующие то им
>> пофиг что они в одном тесте запущены.
>>
>> а если роут использует блокирующий Mojo::UserAgent, то как быть? ну
>> кроме как форкаться
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>
>
>
> --
> С уважением,
>  Анатолий Шарифулин.
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org

-- 
Best regards, Ruslan.


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