Javascript 针对Google Recaptcha v2的React单元测试

Javascript 针对Google Recaptcha v2的React单元测试,javascript,reactjs,jestjs,enzyme,Javascript,Reactjs,Jestjs,Enzyme,我实现了一个React Recaptcha组件,我正在尝试向它添加一些单元测试 除此之外,我正在尝试测试我的组件的状态是否已更改(应该是选中该框后收到的令牌) this.setState({gToken:value,recaptchaState:true})}/> 我的测试是这样的 describe('RefundaModal Component', () => { const modalcomponent = shallow(<RefundModalDialog />)

我实现了一个React Recaptcha组件,我正在尝试向它添加一些单元测试

除此之外,我正在尝试测试我的组件的状态是否已更改(应该是选中该框后收到的令牌)

this.setState({gToken:value,recaptchaState:true})}/>
我的测试是这样的

describe('RefundaModal Component', () => {
  const modalcomponent = shallow(<RefundModalDialog />);
  const captcha = shallow(<ReCAPTCHA sitekey={RECAPTCHA_SITE_KEY} onChange={() => {}} />);
  test('render RefundModalDialog component', () => {
    expect(modalcomponent.exists()).toBe(true);
  });
  test('user clicked on recaptcha', async () =>
    modalcomponent.setState({ gToken: null, recaptchaState: false });
    captcha.props().onChange();
    expect(modalcomponent.state().recaptchaState).toEqual(true);
  });
});
description('returnamodal Component',()=>{
常量modalcomponent=shallow();
const captcha=浅({}}/>);
测试('render ModalDialog component',()=>{
expect(modalcomponent.exists()).toBe(true);
});
测试('用户单击了recaptcha',异步()=>
modalcomponent.setState({gToken:null,recaptchaState:false});
captcha.props().onChange();
expect(modalcomponent.state().RecaptChasState).toEqual(true);
});
});
我还尝试了另一种方法
captcha.simulate('change')但我一直在接收false,而我的意图是接收true

实施这种测试的正确方法是什么

谢谢

describe('RefundaModal Component', () => {
  const modalcomponent = shallow(<RefundModalDialog />);
  const captcha = shallow(<ReCAPTCHA sitekey={RECAPTCHA_SITE_KEY} onChange={() => {}} />);
  test('render RefundModalDialog component', () => {
    expect(modalcomponent.exists()).toBe(true);
  });
  test('user clicked on recaptcha', async () =>
    modalcomponent.setState({ gToken: null, recaptchaState: false });
    captcha.props().onChange();
    expect(modalcomponent.state().recaptchaState).toEqual(true);
  });
});