Catalyst::Test

Модуль для тестирования 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';

Методы
$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 - переменная, для назначения имени тесту.