Jasmin spy监听AJAX无法读取属性'done'的定义
Jasmin spy listens on AJAX Cannot read property 'done' of undefined
我试图检查数据是否通过监视jQuery的ajax方法发送到服务器。一切工作,直到我添加一个'完成'函数到ajax post。
我从Jasmine得到的错误是:TypeError: Cannot read property 'done' of undefined
茉莉花规范:
describe("Post New Project Definition", function () {
it("should post to GeoServer", function () {
var information = {"i am": Math.random()};
spyOn($, "ajax");
addProjectDefinition.send(information);
expect($.ajax).toHaveBeenCalledWith({
method: "POST",
url: "../svir/add_project_definition",
data: information
});
});
});
My Ajax call:
function addProjectDefinition() {}
addProjectDefinition.send = function(information) {
var foobar = $.ajax({
method: "POST",
url: "../svir/add_project_definition",
data: information
});
// NOT WORKING
foobar.done(function(){
console.log('Hi I'm done:');
});
};
您应该替换测试中的这一行:
spyOn($, "ajax");
:
spyOn($, "ajax").and.callFake(function() { return { done: function() {}}});
相关文章:
- 用嵌套函数和默认函数定义函数
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 控制台返回var不是't定义,但它是
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- jQuery自定义验证比较多个输入的序列
- 查看JS对象的所有键,甚至是getter定义的键
- fetch() 函数未在 Ubuntu Chromium 浏览器上定义
- $window.ga在AngularJS事件中未定义
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 未捕获的TypeError无法读取未定义的属性socialsharing
- XMLHttpRequest 预定义的 LOAD、DONE 等值在 Ripple 下变为未定义
- .connection.hub美元.Id在done函数中未定义
- 如何定义.done()
- Jasmin spy监听AJAX无法读取属性'done'的定义
- 使用Karma - done()运行的Mocha单元测试没有定义