2011-11-29 32 views
6

का परीक्षण करने का सबसे आसान तरीका क्या है Catalyst::Controller::REST का उपयोग करके, मैं एक शानदार वेब सेवा बना रहा हूं। आम तौर पर वेब परीक्षण के लिए मैं Test::WWW::Mechanize का उपयोग करता हूं, लेकिन यह "GET/POST HTML RPC" परीक्षण के लिए अधिक उपयुक्त लगता है। क्या कोई टेस्ट मॉड्यूल है जो जीईटी/पोस्ट/पुट/डिलीट इत्यादि और जेएसओएन का उपयोग करके मूल लेख के साथ HTTP का परीक्षण करेगा? शायद कुछ ऐसा जो उत्प्रेरक/पीएसजीआई के साथ अच्छी तरह से एकीकृत करता है तो मुझे एक वेबसर्वर शुरू करने की ज़रूरत नहीं है?उत्प्रेरक REST API

उत्तर

7

उत्प्रेरक :: टेस्ट एलडब्लूपी :: उपयोगकर्ता एजेन्ट का उप-वर्ग है। नीचे आप सही अंदाज़ा हो जाना चाहिए:

#!/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); 
+0

कि काम करेंगे, लेकिन मुझे उम्मीद थी कि वहाँ कुछ है कि बस सभी JSON/HTTP कोड लिखने के बिना मेरे लिए सब क्रमबद्धता/अक्रमांकन करना होता था, जैसे सुविधा तरीकों । – xenoterracide

संबंधित मुद्दे