json - 测试 Catalyst REST API 的最简单方法是什么

标签 json perl http testing catalyst

我正在构建一个 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/

相关文章:

c# - ReadAsDataContract<String[]> - 意外的文件结尾

javascript - HTTP 长轮询 - 超时最佳实践

json - 将 IMAP + mailparser 返回对象解析为 JSON

json - 如何在NiFi中对动态json数组的值进行base64解码?

JavaScript 和 JSON

linux - 在Linux中使用Tk运行Perl程序报错 "1132148 is not a hash"

php - 使用 Laravel 和 Guzzle 访问 JSON 中的数据数组

regex - 如何在正则表达式中匹配特定于语言的字符?

perl - 自定义可存储 Hook ,用于克隆引用重量级对象的轻量级对象

Swift: header 中带有参数的HTTP请求