2012-12-26 34 views
5

Có một công cụ để dễ dàng thử dịch vụ an toàn để chúng tôi có thể kiểm tra các cuộc gọi Ajax dễ dàng không?để dễ dàng thử dịch vụ an toàn

Ví dụ: tôi cần giả lập dịch vụ an toàn để trả lại string ở định dạng JSON hoặc XML.

+0

một possbile trùng lặp http://stackoverflow.com/questions/203495/testing-rest-webservices/12298362#12298362 – AurA

Trả lời

1

Hãy thử jmockit; tôi đã sử dụng nó để chế nhạo một dịch vụ web. Nhưng đây là một giải pháp Java. Nếu bạn muốn giả lập REST API ở phía máy chủ thì điều này sẽ phù hợp. Điều này sẽ không giúp ích nếu bạn không sở hữu ứng dụng REST.

Nếu bạn muốn giả lập ở phía máy khách (trong JS);

Bạn có thể viết khung/giao diện giả mạo của riêng mình. Vì vậy, khi bạn gửi một yêu cầu đặt một lớp ở giữa mà chỉ có thể trả về cho bạn phản hồi thử nghiệm thay vì thực sự gọi URL REST.

khách hàng ---> Mocking Interface ---> REST API CALL

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

    //else; return mocked data 
} 
+0

gì nếu tôi không sở hữu ứng dụng REST? Cách thứ hai là giải pháp duy nhất? – blue123

+0

Vâng, sau đó làm tốt hơn ở phía khách hàng trong JS. –

+0

Cảm ơn. Tại sao tôi không thể @ bạn, rai.skumar? – blue123

0

Bạn có thể thử http://apiary.io/ quá.

Ở đó bạn có thể xác định phản hồi yêu cầu ở định dạng văn bản, ví dụ như trong JSON. Lợi thế là MOCK API là công khai nên bất kỳ phần nào của nhóm có thể sử dụng nó.

0

FakeRest thực hiện chính xác những gì bạn muốn.

// 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"} 
// ] 
Các vấn đề liên quan