我正在构建一个 RESTful 网络服务,使用 Catalyst::Controller::REST .通常用于网络测试我使用 Test::WWW::Mechanize ,但这似乎更适合“GET/POST HTML RPC”测试。是否有任何测试模块可以使用基本身份验证、使用 GET/POST/PUT/DELETE 等和 JSON 轻松测试 HTTP?也许某些东西可以与 Catalyst/PSGI 很好地集成,这样我就不必启动网络服务器了?
最佳答案
Catalyst::Test 是 LWP::UserAgent 的子类。下面应该给你正确的想法:
#!/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);
关于json - 测试 Catalyst REST API 的最简单方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8305386/