Javascript 针对Google Recaptcha v2的React单元测试
我实现了一个React Recaptcha组件,我正在尝试向它添加一些单元测试 除此之外,我正在尝试测试我的组件的状态是否已更改(应该是选中该框后收到的令牌)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 />)
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);
});
});