Jasmine:如何在ES6上窥探导入的函数/构造函数?

时间:2016-03-01 12:46:42

标签: javascript jasmine ecmascript-6 spy es6-module-loader

我想知道如果我在使用带有babel的ES6导入/导出时如何在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" is read-only

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不是。

您如何看待这个问题?

0 个答案:

没有答案