在我的组件中,我在componentWillMount
中调用this.props.foo()
:
public componentWillMount() {
this.props.foo();
}
现在我想用开玩笑来测试这个方法是否被调用:
it("should call startCountdown when mounted.", () => {
const foo= jest.fn();
const newProps: ComponentProps = {
foo,
...defaultProps,
};
renderComponent(newProps);
expect(foo).toHaveBeenCalled();
});
renderComponent
这样做:
const renderComponent= (props: ComponentProps = defaultProps) => {
const rendered = TestRenderer.create(
<Component {...props}/>);
return rendered.root;
};
为什么这个测试失败了?在 React Native 中监视componentWillMount
的正确方法是什么?
const newProps: ComponentProps = {
...defaultProps,
foo,
};
foo
应该排在最后以覆盖其他道具