2012-12-26 2 views
5

簡単に安らかなサービスを模擬して簡単にAjaxコールをテストできるツールはありますか?簡単におしゃれなサービスを模擬するツール

たとえば、stringJSONまたはXMLという形式で返すサービスを模擬する必要があります。

+0

possbileはhttp://stackoverflow.com/questions/203495/testing-rest-webservices/12298362#12298362 – AurA

答えて

2

あなたはジャスミン・アヤックスにショットを付けるかもしれません。 https://github.com/pivotal/jasmine-ajax

もちろん、ジャスミンでテストする必要があることを意味します。 http://pivotal.github.com/jasmine/

シノンは非常に強力なモッキングライブラリです。 http://sinonjs.org/あなたのテストフレームワークを選択することができます。私はモカと一緒に使っています。 http://visionmedia.github.com/mocha/

1

Try jmockit;私はWebサービスを嘲笑に使っていました。しかし、これはJavaソリューションです。サーバー側でREST APIをモックしたい場合、これは適合します。これは、RESTアプリケーションを所有していない場合は役に立ちません。

クライアント側(JS内)でモックしたい場合は、

独自のモックフレームワーク/インターフェイスを作成できます。 リクエストを送信すると、実際にREST URLを呼び出すのではなく、テストレスポンスを返すことができるレイヤーを配置します。

クライアント--->モッキングインタフェース---> REST API呼び出し

function mockingInterface(var url){ 
    //if original 
    //make REST call 

    //else; return mocked data 
} 
+0

私はRESTアプリケーションを所有していない場合は何を複製しますか?第2の方法は唯一の解決策ですか? – blue123

+0

ええ、その後JSのクライアント側で行うほうがいいです。 –

+0

ありがとうございます。なぜ私はあなた、rai.skumarできないのですか? – blue123

0

あなたもhttp://apiary.io/を試すことができます。

リクエストレスポンスをテキスト形式で定義することができます。たとえば、JSONではリクエスト応答をテキスト形式で定義できます。メリットは、MOCK APIは公開されているため、チームのどの部分でも使用できます。

0

FakeRestあなたが望むものを正確に行います。

// initialize fake REST server and data 
var restServer = new FakeRest.Server(); 
restServer.init({ 
    'authors': [ 
     { id: 0, first_name: 'Leo', last_name: 'Tolstoi' }, 
     { id: 1, first_name: 'Jane', last_name: 'Austen' } 
    ], 
    'books': [ 
     { id: 0, author_id: 0, title: 'Anna Karenina' }, 
     { id: 1, author_id: 0, title: 'War and Peace' }, 
     { id: 2, author_id: 1, title: 'Pride and Prejudice' }, 
     { id: 3, author_id: 1, title: 'Sense and Sensibility' } 
    ] 
}); 
// use sinon.js to monkey-patch XmlHttpRequest 
var server = sinon.fakeServer.create(); 
server.respondWith(restServer.getHandler()); 

// Now query the fake REST server 
var req = new XMLHttpRequest(); 
req.open("GET", "/authors", false); 
req.send(null); 
console.log(req.responseText); 
// [ 
// {"id":0,"first_name":"Leo","last_name":"Tolstoi"}, 
// {"id":1,"first_name":"Jane","last_name":"Austen"} 
// ] 
関連する問題