【发布时间】:2019-01-24 21:39:38
【问题描述】:
所以我有一个通用类组件:
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 文档:As of Enzyme v3, the shallow API does call React lifecycle methods such as componentDidMount and componentDidUpdate.
我的测试有什么问题?谢谢。
【问题讨论】:
标签: reactjs react-native testing jestjs enzyme