如何模拟使用笑话扩展另一个类的ES6类

时间:2019-05-14 15:13:22

标签: javascript unit-testing mocking jestjs es6-class

我正在尝试模拟扩展另一个自定义类的自定义es6类,并且在尝试测试这些类方法之一时,我的单元测试抛出错误。我尝试过更改设置以完全解决类模拟问题,也没有运气。我宁愿以“正确”的方式实施这些测试,因此希望获得一些帮助以使此配置正常工作。

我尝试按照jest docs https://jestjs.io/docs/en/23.x/es6-class-mocks中的步骤进行操作,但是在运行jest.mock(“ path / to / class”)之后,当我尝试调用Class.mockClear()时报错

// GenericWorker.js

export default class GenericWorker {
    constructor(opt) {
        ...initialize worker with opt
    }

    subscribe() {
        ...do stuff
    }
}
// SpecializedWorker.js

export default class SpecializedWorker extends GenericWorker {

    onSubscribe() {
        this.subscribe();
    }
}
// __tests__/SpecializedWorker.spec.js

import SpecializedWorker from ('../SpecializedWorker');
jest.mock('../SpecializedWorker');

describ('SpecializedWorker', () => {
  beforeEach(() => {
    SpecializedWorker.mockClear();
  });

  it('should call onCallback', () => {
    ...testing stuff
  });
}); 

我的测试没有通过beforeEach()步骤,并声称SpecializedWorker上没有方法“ mockClear()”

我正在使用节点v.6.11和jest v.23.6.0

0 个答案:

没有答案