3

我有以下组件:

export const FormikInput: React.SFC<Props> = (props: Props) => {
   const handleChange = (value: string) => {
       // do something
       props.setFieldValue(props.key, value);


    return (
           <TextField
            label={props.label}
            onChangeText={handleChange}
            value={props.values[props.key]}
        />
);

};

我想调用handleChange方法用户 react-test-renderer 可以吗?

4

1 回答 1

0

给一个classnametoTextField并嘲笑你handleChange这样的:

describe('handleChange event success', () => {
it('handleChange invokes without throwing an error', () => {
    const handleChange = jest.fn();
    const wrapper = shallow(<YourComponent
      handleChange ={handleChange}
       />);
    wrapper.find('.myTextField').simulate('change');
    expect(handleChange ).toHaveBeenCalled();
  });
});

您的 TS 可能需要一些调整,我已经为 JS 编写了这个

于 2018-08-23T14:05:04.133 回答