Как протестировать компоненты, зависящие от NODE_ENV, с помощью Jest

#reactjs #typescript #jestjs

#reactjs #машинописный текст #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 в самом тесте, но typescript жалуется, что это переменная, доступная только для чтения.

Ответ №1:

Ну, самое быстрое решение, которое я могу придумать, это просто установить dotenv

npm i dotenv

и добавьте следующее в начало вашего теста.

требуется («dotenv»).config()