2017-06-28 95 views
1

我最近开始研究一个已经成熟的项目,在那里我整合了Jest测试框架。该项目使用与Webpack的React。在webpack配置中,团队使用webpack.ProvidePlugin来提供React,lodash和类名(不是我会做的,但是不管)。使用Jest,React和Webpack处理全球进口

我遇到的问题是,文件顶部的大部分React类都包含类似React.Component的东西,因为webpack基础配置可以正常工作。但是,当我运行相应的测试文件时,我只会得到React is not defined,除非我明确需要React。

有一个webpack.test.config文件需要基本的webpack配置,但我似乎无法得到它,以便我可以运行测试,而不必在每个文件的顶部明确包含import React from 'react'。我不想在每个文件中手动导入React,任何人都有什么建议可以做什么?

+0

https://stackoverflow.com/questions/30233357/jest-react-how-use-use-global-object-in-unit-tests – spoonscen

+0

我结束了在与团队讨论后,删除全局导入并在每个文件中导入React。这些解决方案都不适合我。 –

+0

是的,这也是我的策略。我不喜欢做全局变量。抱歉,我无法提供更多帮助! – spoonscen

回答

1

我认为在这种情况下使用全局变量是一种反模式。我只是删除全局和包括react在每个文件

0

您可以尝试使用jest的resolver,并且当您进入react导入时返回要作出反应的路径。或者你可以在那里使用笑话的setupFileimport React from 'react';