javascript - 如果回调没有作为道具传递,我如何使用 jest 检查对子组件的点击?
问题描述
我有以下组件:
<MaxFrContainer data-test="wellness-report-card">
<PrimaryBlueButton
onClick={() => {
// open popup
}}
>
generate
</PrimaryBlueButton>
</MaxFrContainer>
Jest 抱怨onClick
呼叫没有经过测试,但我该如何测试呢?无论他的回调是什么,它都是在组件中定义的,而不是作为道具传递下来的。此外,类似的事情在我的代码中重复出现。有时它会打开一个弹出窗口,有时它会进行 API 调用。
我如何得到这些测试
解决方案
你能更具体地说明你在做什么//open popup
吗?
如果我要创建这样的组件,应该有一个带有业务逻辑的单独模块,并且在 onClick 处理程序中我应该只从这个模块调用一些方法。
<MaxFrContainer data-test="wellness-report-card">
<PrimaryBlueButton
onClick={() => MaxFrContainerController.clickHandler()}
>
generate
</PrimaryBlueButton>
</MaxFrContainer>
并且要测试 onClick 你应该只检查clickHandler
mockMaxFrContainerController
是否被调用。
推荐阅读
- python - 具有合成数据集的训练网络
- c# - 如何将文本块严格保持在一行段落中
- angularjs - 如何迭代多级嵌套 JSON 数组?
- python - Python:尝试使用 requests.post 时获取“internalServerError:500”
- stripe-payments - 电子商务支付网关 - 资金从一个客户转移到另一个客户
- google-sheets - 如何在下拉列表中的项目来自列的 Google Data Studio 中添加过滤器
- python - 检查熊猫中的元组列是否包含列表中的某些值
- python - 如何将scrapy spider导入另一个代码
- python - 在 Python 中使用 lambda 更改最小化标量以最大化
- android - Android布局动画过渡