Я пытаюсь смоделировать пользовательский класс es6, который расширяет другой пользовательский класс, и мой модульный тест выдает ошибку при попытке протестировать один из этих методов класса. Я попытался изменить настройку, чтобы обойти макет класса безуспешно. Я бы предпочел реализовать эти тесты «правильным» способом, поэтому я был бы признателен за помощь в настройке этой конфигурации.
Я пытался выполнить действия, описанные в jest docs https://jestjs.io/docs/en/23.x/es6-class-mocks, но после запуска jest.mock ("путь / к / классу") выдает ошибку при попытке вызвать 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