我的组件看起来像这样
const FooBar = ({
onClose,
}) => {
return (
<div
className='foo'>
<Icon
name='close'
onClick={onClose} />
</div>
)
}
我的测试如下
const mockFn = jest.fn();
const title = 'Title';
it('calls the onClose function', () => {
const component = mount(
<FooBar
title={title}
onClose={mockFn}
/>
);
component.instance().onClose();
expect(mockFn).toBeCalled();
component.unmount();
});
返回
TypeError:无法读取null的属性“ onClose”
如何调用onClose
函数?
答案 0 :(得分:1)
尝试
component.find(Icon).first().props().onClick();
另外,请看一下react-testing-library
,它使这种测试更加容易。