단위 테스트를 작성하려고하는 원격 API에 게시를 수행하는 JavaScript 함수가 있습니다. QUnit, Sinon.js - 가짜 서버에 정확한 요청 본문이 있는지 확인하려면 어떻게합니까?
var functionToTest = function(callback, fail) {
$.ajax({
url: "/myapi/",
type: "POST",
data: { one: 'one', two: 'two' },
accept: "application/json",
contentType: "application/json"
}).done(function(x) {
log = generateLogMessage('Success');
callback(log);
}).fail(function(x, s, e) {
log = generateLogMessage('Fail');
fail(log);
});
}
내가 (Sinon.js을 활용 QUnit에서) 단위 테스트를 요청이 성공 올바르게 때 콜백이 호출됩니다 테스트가 :
QUnit.test('Test that the thing works', function() {
var server = this.sandbox.useFakeServer();
server.respondWith(
'POST',
'/myapi/',
[
200,
{'Content-Type': 'application/json'},
'{"Success":true}'
]
);
var callback = this.spy();
functionToTest(callback, callback);
server.respond();
QUnit.ok(callback.calledWith(generateLogMessage('Success')));
});
이를 내가 테스트 할 방법은 이것이다 테스트가 작동하지만 요청 본문에 관계없이 성공적으로 반환됩니다. 내가 원하는 것은 가짜 서버가 요청 본문 인 경우에 만 응답하는 것입니다. { one: 'one', two: 'two' }
감사합니다. 나는 지금 내가하고있는 일을 계속할 것입니다. – BeardedCoder