【发布时间】:2015-05-19 10:13:33
【问题描述】:
我正在使用 Jasmine 和 Sinon 来测试一个 ajax 调用。测试如下:
describe("function initialize", function(){
var server;
beforeEach(function(){
server = sinon.fakeServer.create();
});
afterEach(function() {
server.restore();
});
it ("should make an ajax call successfully", function(){
server.respondWith(session.apipath + "/login/refreshToken/",
[200, { 'Content-Type': 'application/json' },
'{user:"asdf",loginToken:"bla"}']);
session.initialize();
server.respond();
expect(localStorage.getItem("loginToken")).toBe("bla");
});
});
我想让它调用成功函数。
$.ajax(this.apipath + "/login/refreshToken/", {
success: function (response) {
alert("success!!!");
localStorage.setItem("loginToken", response.loginToken);
},
error: function(){
alert("error!!!");
}
});
但只调用错误。我做错了什么?
【问题讨论】:
-
我想通了。我不得不更改一行:` server.respondWith(session.apipath + "/login/refreshToken/",[200, { 'Content-Type': 'application/json' }, JSON.stringify([{user:" asdf",loginToken:"bla"}])]);`
标签: javascript testing jasmine server sinon