【问题标题】:How to test components that depend on NODE_ENV with Jest如何使用 Jest 测试依赖 NODE_ENV 的组件
【发布时间】:2021-04-20 16:27:42
【问题描述】:

我得到了想要测试的组件

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

【问题讨论】:

    标签: reactjs typescript jestjs


    【解决方案1】:

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

    npm i dotenv

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

    require("dotenv").config()

    【讨论】:

      猜你喜欢
      • 2020-01-11
      • 2021-08-08
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      • 2021-10-21
      • 1970-01-01
      • 2021-10-16
      • 2017-07-23
      相关资源
      最近更新 更多