reactjs - 如何使用 Jest 测试依赖 NODE_ENV 的组件
问题描述
我得到了我想测试的这个组件
export const ResponsiveChartContainer = ({ children, height }: Props): React.ReactElement => {
return process.env.NODE_ENV === 'test' ? (
children
) : (
<ResponsiveContainer minHeight={height}>{children}</ResponsiveContainer>
);
};
它依赖于 NODE_ENV,因为 ResponsiveContainer 不会在测试环境中呈现任何子级。如果我将 ResponsiveContainer 放在父容器上,则根本不会显示图表。因此,从组件中删除 ResponsiveContainer 不是一种选择。我该如何测试它?
我尝试在测试本身上设置 NODE_ENV 但打字稿抱怨它是一个只读变量。
解决方案
那么我能想到的最快的解决方案就是安装 dotenv
npm 我 dotenv
并将以下内容添加到测试的开头。
需要(“dotenv”).config()
推荐阅读
- java - 如何重定向和授权在ajax成功中返回jsp页面的相同url
- ios - UIFIlesharingEnabled 暴露了我的私人文件
- heroku - Rails 6 启动时内存膨胀
- python - 使用统计方法确定程序的大致时间复杂度
- java - 具有扩展 Iterable 的类型的通用方法不起作用
- c# - 处理来自不同线程的线程的最佳方法是什么?
- docker - 如何通过 ip 找到 docker 容器?
- css - 带有radialGradient的SVG在浏览器中不起作用
- python - 由于一个热编码大小错误,我无法使用我的 keras 模型进行预测
- android - 错误:在实现观察者时找不到符号类观察者