我有一个场景,我在jquery.ready函数中调用jquery ajax。所以只要这个js被加载到页面中,ajax调用就会被提交。我正在为这个js写茉莉花测试用例。 问题是,当我在我的specrunner.html中包含这个js来编写jasmine测试时,会调用jquery.ajax,因为它在jquery.ready中。我想要模拟这个ajax调用。我已经尝试过使用jasmine ajax,但没有帮助。 请帮忙。
答案 0 :(得分:1)
你想模拟AJAX调用或响应吗?如果它是后者,过去我常常用Sinon's fake server来模仿它。现在(Jasmine 2.X)拥有它自己的fake XHR facility。一般来说,你会在beforeEach中拥有如下内容:
beforeEach(function() {
jasmine.Ajax.install();
});
然后,在您发送请求后,您将运行:
request = jasmine.Ajax.requests.mostRecent();
和
request.respondWith = {
status: 200,
responseText: '{"response":{"groups":["A","B","C"]]}}'
}