Итак, у меня есть общий компонент класса:
import React, { Component } from "react";
export default class CompTest extends Component {
someFunc() {}
componentDidMount() {
this.someFunc();
}
render() {
return <div>Hey</div>;
}
}
и я хочу проверить, что someFunc
вызывается хотя бы один раз (внутри componentDidMount
)
describe("<CompTest /> componendDidMount", () => {
it("should call someFun()", () => {
const wrapper = shallow(<CompTest />);
const instance = instance();
jest.spyOn(instance, "someFun");
expect(instance.someFunc).toHaveBeenCalledTimes(1);
});
});
однако я получаю:
Expected mock function to have been called one time, but it was called zero times.
По данным энзима v3 docs: As of Enzyme v3, the shallow API does call React lifecycle methods such as componentDidMount and componentDidUpdate.
Что не так с моим тестом? Спасибо.