javascript - 谷歌 Recaptcha v2 的 React 单元测试
问题描述
我实现了一个 React-Recaptcha 组件,我正在尝试向它添加一些单元测试。
除其他外,我试图测试我的组件的状态是否已更改(应该是选中该框后收到的令牌)。
<ReCAPTCHA sitekey={RECAPTCHA_SITE_KEY} onChange={value => 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);
});
});
我也尝试了一种不同的方法captcha.simulate('change');
,但是当我的意图是接收真实时,我一直接收错误。
实施此类测试的正确方法是什么?
谢谢
解决方案
推荐阅读
- javascript - 如何使用 VB.NET 从服务器端获取客户端值?
- wpf - 使用组合从 XAML 错误模板访问 INotifyDataErrorInfo 验证错误
- kubernetes - Kubernetes Pod 终止不会立即发生,必须等到宽限期到期
- xslt - XSLT/XPATH : 处理 XHTML 文件以将分隔的文本部分转换为新类
- python - 在 Python 中绘制方波
- typescript - 将元素添加到打字稿 Record<>
- python - 如何在matplotlib中将坐标轴刻度格式化为有效数字
- python - 抓取网站时出错 (http.client.BadStatusLine: )
- nginx - elasticbeanstalk 不会复制我的 nginx 配置
- python - 获得每组的第 20 到第 80 个百分位数 - Pyspark