我正在尝试模拟扩展另一个自定义类的自定义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