如何使用jasmine AJAX存根AJAX函数
How to stub AJAX function using jasmine Ajax
这是我的代码:
function sendRequestData(url, urlParameters) {
if (url != null && urlParameters != null) {
$.ajax({
url : url,
method : 'POST',
headers : {
'Accept' : 'application/json'
},
contentType : 'application/json',
data : JSON.stringify(urlParameters),
dataType : "json",
success : function(data) {
successCallBack(data)
},
error : function(data, status, errorThrown) {
failCallBack(data, status, errorThrown)
}
});
我想截取函数并检查响应。不管怎样,我可以使用jasmine ajax插件做到这一点吗。
it("should receive a successful response", function() {
spyOn($, "ajax").andCallFake(function(e) {
e.success({});
});
spyOn(window, "successCallBack");
spyOn(window, "failCallBack");
sendRequestData('dummyURL', ['dummyParam1', 'dummyParam2']);
expect(window.successCallBack).toHaveBeenCalled(); //Verifies this was called
expect(window.failCallBack).not.toHaveBeenCalled(); //Verifies this was NOT called
});
对于失败,将callFake替换为e.error()
,并反转successCallBack
和failCallBack
的断言
有关更多信息,请参阅下面的链接http://www.htmlgoodies.com/html5/javascript/testing-ajax-event-handlers-using-jasmine-spies.html
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- 如何通过ajax刷新JSF填充的javascript变量
- 如何在php文件中获取$.post-ajax传递的值
- Replacing $ .ajax?
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- Ajax发布表单序列化,发布引号'
- 通过Ajax将JavaScript函数传递给PHP文件
- ajax请求的顺序总是不同的
- 可以't使用Polymer's的核心ajax
- Ajax Live搜索发布到Laravel视图
- Ajax聊天消息重复而不仅仅是更新
- 从控制器返回后Ajax启动事件激发
- PHP AJAX图片上传示例不上传
- 从ajax请求中获取javascript对象
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 如何在Javascript中解析AJAX数组的特定部分
- Ajax文件加载和<输入>文件加载
- Javascript/jQuery中的并行Ajax调用
- 如何使用jasmine AJAX存根AJAX函数
- AJAX html存根——加载清除头部元素实用吗?