Buduję usługę WWW RESTful przy użyciu Catalyst::Controller::REST. Zazwyczaj do testowania stron internetowych używam Test::WWW::Mechanize, ale wydaje się to bardziej odpowiednie dla testów "GET/POST HTML RPC". Czy są jakieś moduły testowe, które sprawiałyby, że testowanie HTTP z podstawowym uwierzytelnieniem, używając GET/POST/PUT/DELETE itp. I JSON było łatwe? może coś, co dobrze integruje się z Catalyst/PSGI, więc nie muszę uruchamiać serwera WWW?Jaki jest najłatwiejszy sposób przetestowania interfejsu REST interfejsu API Catalyst?
6
A
Odpowiedz
7
Katalizator :: Test jest podklasą LWP :: UserAgent. Poniższy powinno dać dobry pomysł:
#!/usr/bin/env perl
use warnings;
use strict;
use Test::More;
use Catalyst::Test 'MyApp';
use HTTP::Request::Common;
use JSON::Any; # or whatever json module you usually use
my $data = 'some_json_data_here';
my $res = request(
POST '/some_path',
Content_Type => 'text/xml',
Content => $data,
);
my $content = json_decode($res->content); # or whatever, can't remember the interface.
my $expected = "some_data";
is_deeply ($content, $expected);
że będziemy pracować, ale miałem nadzieję, że coś było po prostu zrobić wszystko serializacji/deserializacji dla mnie bez pisania cały kod/HTTP JSON, np metody wygoda . – xenoterracide