我正在尝试测试我的 ajax 代码(链接)的故障功能。
我正在使用最新版本的 Karma、PhantomJS 和 Jasmine 以及所有必需的插件。
测试在 Chrome 中成功运行,但是当我使用 PhantomJS 时,我的 ajax 失败测试不会调用失败或成功函数。我为调试目的添加了一个成功,而不是在下面的代码中。由于所有其他 ajax 测试都按预期工作,因此还设置了正确的之前和之后,只是请求没有根据需要失败。
这是我的测试片段。
it("Check sample response of fail", function() {
var fail = jasmine.createSpy("getJSON fail");
app.getJSON(testUrl).fail(fail);
jasmine.Ajax.requests.mostRecent().respondWith({
status: 500,
statusText: "error",
contentType: "text/plain",
responseText: ""
});
expect(fail).toHaveBeenCalled();
expect(fail.calls.mostRecent().args[0]).toBe("error");
expect(fail.calls.mostRecent().args[1]).toBe(500);
});