我正在尝试使用jasmine 2.3.4测试真正的ajax请求,但我不知道如何处理ajax调用。我的代码就像
unname
答案 0 :(得分:3)
检查asynchronous documentation,它应该执行您之后的操作。
describe("testing user-info calls", function() {
it("should make a real AJAX request", function (done) {
$.ajax({
type: "GET",
url: "data/userinfo/username",
async: false,
success: function(arg) {
expect(arg).toEqual('Antonio');
done();
});
});
});
});
或者,如果您实际上不需要点击服务器,可以使用sinon.js来使用fakeServer:
beforeEach(function() {
server = sinon.fakeServer.create();
});
afterEach(function () {
server.restore();
});
describe("testing user-info calls", function() {
it("should make a real AJAX request", function () {
server.respondWith("GET", "data/userinfo/username",
[200, { "Content-Type": "text" },
'Antonio']);
var callback = jasmine.createSpy();
$.ajax({
type: "GET",
url: "data/userinfo/username",
async: false,
success: callback
});
server.respond();
expect(callback).toHaveBeenCalledWith('Antonio');
});
});