reactjs - 如何使用 Jest 和 Enzyme 测试功能组件中的 if 条件?
问题描述
isAuthorized() 方法是一个全局方法。
import { isAuthorized } from 'xxx';
const Comp = (props) => {
const shouldShow = isAuthorized('abcd');
return (
{ shouldShow ? <A /> : <B /> }
);
}
我试图通过 shouldshow 作为这样的道具:
const props = {
shouldshow: true
};
const wrapper = getShallowWrapper(props);
expect(wrapper.find('A').exists()).toBe(true);
它不起作用。搜索了很多,但没有找到解决方案。
也尝试了下面的方法,没有奏效。
const mockIsAuthorized = jest.spyOn(wrapper.instance(), 'isAuthorized');
const mockIsAuthorized = wrapper.instance().isAuthorized;
mockIsAuthorized = jest.fn();
有谁知道如何对这个 if 条件进行单元测试?或者说,如何模拟函数组件内部的函数?
谢谢
解决方案
推荐阅读
- javascript - 无法在页面加载时触发按钮或锚元素的单击事件
- javascript - 在 Scroll ReactJs 上添加删除类
- matplotlib - 使用 imshow 更改 y 轴和 x 轴标签是否会更改图像中的任何内容?
- javascript - JS 保持日期相差 1 分钟
- javascript - 我可以将值传递给兄弟组件而不将其保存为变量吗?
- python - 如何在 python selenium 中自动化 datepicker?
- reactjs - React 日期选择器:如何测试用户输入的有效性?
- php - Foreach 循环仅回显第一次出现(仅第一个元素)
- javascript - 如何在 jest 框架自动化中使用 `scollIntoView` 方法
- python - create_engine 使用 ssl 问题 sqlalchemy