Я новичок в тестировании компонента React, поэтому я пытаюсь протестировать некоторый метод в родительском компоненте, который передается дочернему компоненту в качестве подпорки.Для этого я использую Jest и Enzyme.
Мой тест:
it('should be able to call myMethod callback', () => {
const mockFn = jest.fn();
ParentComponent.prototype.myMethod = mockFn;
const wrapper = Enzyme.shallow(<ParentComponent />);
wrapper.find('ChildComponent').props().myMethod();
expect(mockFn).toHaveBeenCalledTimes(1);
});
Тест пройден, но myMethod не вызывается (myMethod не охватывается тестами).
Когда я использую:
wrapper.instance().myMethod = mockFn;
вместо:
ParentComponent.prototype.myMethod = mockFn;
все наоборот - вызывается myMethod, но тест не пройден с ошибкой:
expect(jest.fn()).toHaveBeenCalledTimes(1)
Expected mock function to have been called one time, but it was called zero times.
Как я могу решить это?Заранее спасибо.