首页 > 解决方案 > 如何使用 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 但打字稿抱怨它是一个只读变量。

标签: reactjstypescriptjestjs

解决方案


那么我能想到的最快的解决方案就是安装 dotenv

npm 我 dotenv

并将以下内容添加到测试的开头。

需要(“dotenv”).config()


推荐阅读