2012-12-26 12 views
5

Czy istnieje narzędzie do łatwego kpienia z wygodnej usługi, abyśmy mogli łatwo przetestować nasze połączenia Ajax?narzędzie do łatwego kpienia z wygodnej usługi

Na przykład, muszę wyśmiać spokojną usługę, aby zwrócić string w formacie JSON lub XML.

+0

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

Odpowiedz

1

Wypróbuj jmockit; użyłem go do kpiny z usługi sieciowej. Ale to jest rozwiązanie Java. Jeśli chcesz wyśmiewać REST API po stronie serwera, to będzie pasować. To nie pomoże, jeśli nie jesteś właścicielem aplikacji REST.

Jeśli chcesz wyśmiać po stronie klienta (w JS) się;

Możesz napisać własną ramkę/interfejs szyderczy. Więc kiedy wyślesz zapytanie, umieść warstwę pośrednią, która może po prostu zwrócić odpowiedź testową zamiast wywoływać URL REST.

Client ---> Mocking Interfejs ---> REST API CALL

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

    //else; return mocked data 
} 
+0

Co zrobić, jeśli nie posiadają aplikacji REST? Drugi sposób jest jedynym rozwiązaniem? – blue123

+0

Tak, lepiej zrobić po stronie klienta w JS. –

+0

Dzięki. Dlaczego nie mogę @ you, rai.skumar? – blue123

0

Można spróbować http://apiary.io/ też.

Tam można zdefiniować odpowiedzi na żądanie w formacie tekstowym, na przykład w JSON. Zaletą jest to, że API MOCK jest publiczne, więc każda część zespołu może z niego korzystać.

0

FakeRest robi dokładnie to, co chcesz.

// 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"} 
// ] 
Powiązane problemy