我正在尝试测试Jasmine的toHaveBeenCalled()匹配器。 我的src:
function myModel (){
}
myModel.prototype.getObjcts = function (){
return DS.findAll('obj', {});
}
茉莉花测试:
describe('findAll', function(){
it('check calling findAll()', function(){
spyOn(DS, 'findAll');
myModel.getObjcts();
expect(DS.findAll('obj', {})).toHaveBeenCalled();
});
});
但是我一直都会收到错误
期待间谍,但未定义
请帮助我了解问题所在
答案 0 :(得分:0)
以下是完整的解决方案:
window.DS = {
findAll: function (param1, param2) {}
};
function myModel() {}
myModel.prototype.getObjcts = function () {
return DS.findAll('obj', {});
};
describe('findAll', function () {
it('check calling findAll()', function () {
spyOn(DS, 'findAll');
var testApp = new myModel();
testApp.getObjcts();
expect(DS.findAll).toHaveBeenCalledWith('obj', {});
});
});
您可以在jsfiddle here
中找到可运行的解决方案