我想知道在使用ES6的import和export以及babel的情况下,如何在Jasmine上进行函数的间谍/存根?
import MobileDetect from 'mobile-detect';
it('should spy MobileDetect', () => {
MobileDetect = jasmine.createSpy('MobileDetect');
});`
第一个问题是我无法重写只读模块
模块构建失败:SyntaxError:/Users/oleg/projects/rp/popup/lib/spec/popup.spec.js:"MobileDetect" 是只读的
it('should spy MobileDetect', () => {
console.log(MobileDetect.prototype.constructor === MobileDetect); //true
spyOn( MobileDetect.prototype, 'constructor' );
console.log(MobileDetect.prototype.constructor === MobileDetect); //false
});`
我尝试了这种方法,但它也不起作用... MobileDetect.prototype.constructor被窥视,但MobileDetect直接没有。
你对这个问题有什么看法?
MobileDetect
,因为变量的值无法重写为新的窥探函数。我的猜测是:如果你这样做var myMobileDetect = MobileDetect
,然后窥探myMobileDetect
呢?显然,你需要改变你的代码来使用myMobileDetect
。 - apsillersMobileDetect
方法的间谍吗?(即一个模拟对象) - Bobby Matson