【发布时间】:2018-07-12 19:41:40
【问题描述】:
我有一个模拟模块:
Observable.js
define([], function() {
const Observable = function(data) {
console.log('called'); /* <-- this is shown in console */
this.data = data;
};
return Observable;
});
从我的文件 myFuncs.js
中调用createNewObservable: function(values) {
return new Observable(values);
},
我正在尝试这样的测试:
describe('createNewObservable', () => {
it("calls Observable", () => {
window.Observable = Observable;
const observableSpy = spyOn(window, 'Observable');
myFuncs.createNewObservable(123);
expect(observableSpy).toHaveBeenCalled();
});
});
spy 没有被调用,导致测试失败
预期的间谍 Observable 已被调用
如上所述,看到控制台日志,所以调用了该函数,我显然是在监视它是错误的。
我如何监视它才能捕获呼叫?
【问题讨论】:
标签: javascript jasmine