由于要使用我的应用程序退出构建过程,因此我在构建后在文件中传递了一些环境变量,效果很好。但是,它通过以下错误消息破坏了我的测试:
TypeError: Cannot read property 'DATA' of undefined
57 | Auth: {
58 | oth,
> 59 |
| ^
60 |
61 | identity: checkEnv(window.env.DATA,
62 | process.env.REACT_APP_DATA),
我已经尝试了许多解决方案,但是还不能模拟window.env数据,我该怎么做?
答案 0 :(得分:1)
Create React App允许您通过添加initialize the test environment文件来src/setupTests.js
,该文件“将在运行测试之前自动执行”。
Create React App还使用提供全局jsdom
对象的window
设置了测试环境。
您可以在window.env
中设置src/setupTests.js
,并且在测试期间将可用:
src / setupTests.js
window.env = {
DATA: 'hi'
}
src / code.js
export const getData = () => window.env.DATA
src / code.test.js
import { getData } from './code';
test('env', () => {
expect(getData()).toBe('hi'); // SUCCESS
})