Модуль для тестирования Catalyst приложений
Посылает запросы к веб-приложению, либо с помощью имитирования среды HTTP запросов или удаленно, если установлена переменная CATALYST_SERVER.
Методы get и request принимают либо URI, либо HTTP::Request объект.
t/lib - здесь хранятся ваши тесты для Catalyst приложения.
К примеру: t/lib/MyApp.pm, t/lib/MyApp/Controller/Root.pm. Множественные
тесты используют этот способ расположения файлов (линейные тесты скоро не будут работать)
Теперь напишем начало нашего .t файла:
use strict;
use warnings;
use FindBin '$Bin';
use lib "$Bin/lib";
use Test::More tests => 6;
use Catalyst::Test 'MyApp';
use Catalyst::Test 'MyApp';
Методы
$content = get(...);
Возвращает содержимое.
my $content = get('foo/bar?test=1');
$res = request(...);
Возвращает HTTP::Response объект. Опционально можно установить host параметр в заголовке request конфигурации.
my $res = request('foo/bar?test=1');
my $virtual_res = request('foo/bar?test=1', {host => 'virtualhost.com'});
($res, $c) = ctx_request(...);
Подобно request(), но он также возвращает контекстный объект $c. Работает только для локальных запросов.
action_ok($url [, $test_name]);
Проверяет на успешность выполнение запроса $url.
action_redirect($url [, $test_name]);
Проверяет успешность $url переадрессации.
action_notfound($url [, $test_name]);
Проверяет, что $url запрос не найден.
content_like($url, $regexp [, $test_name]);
Возвращает содержимое $url, удовлетворяющее шаблону $regexp.
contenttype_is($url, $type [, $test_name]);
Проверяет, что $url содержимое типа $type.
Примечание: $test_name - переменная, для назначения имени тесту.