如何使用 Jest 测试依赖于 NODE_ENV 的组件

时间:2021-01-15 16:10:48

标签: reactjs typescript jestjs

我得到了要测试的组件

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,但打字稿抱怨它是一个只读变量。

1 个答案:

答案 0 :(得分:0)

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

<块引用>

npm 和 dotenv

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

<块引用>

require("dotenv").config()

相关问题