我正在尝试测试我的ajax代码(link)的失败功能。
我正在使用最新版本的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);
});