Tôi đang xây dựng một dịch vụ web RESTful bằng cách sử dụng Catalyst::Controller::REST. Thông thường để kiểm tra web tôi sử dụng Test::WWW::Mechanize, nhưng điều đó có vẻ thích hợp hơn cho thử nghiệm "GET/POST HTML RPC". Có bất kỳ mô-đun thử nghiệm nào có thể thử nghiệm HTTP với auth cơ bản, sử dụng GET/POST/PUT/DELETE vv và JSON dễ dàng không? có lẽ một cái gì đó tích hợp tốt với Catalyst/PSGI vì vậy tôi không phải bắt đầu một máy chủ web?Cách dễ nhất để kiểm tra Catalyst REST API
6
A
Trả lời
7
Chất xúc tác :: Kiểm tra là phân lớp của LWP :: UserAgent. Dưới đây sẽ cho bạn ý tưởng đúng:
#!/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);
rằng tôi sẽ làm việc, nhưng tôi đã hy vọng có một cái gì đó sẽ chỉ làm tất cả những serialization/deserialization cho tôi mà không cần viết tất cả các mã/HTTP JSON, ví dụ như phương pháp thuận tiện . – xenoterracide