在导入依赖项之前,我需要在窗口对象中设置一个值。假设我有以下代码:
// foo.test.js
import { dependency } from './foo'
describe('...', () => {
it('...', () => {
// use dependency
})
})
但是为了导入依赖项,我需要在 window.myValues
中定义一个值。
// foo.js
export const dependency = {
key: window.myValue.nestedValue
}
当导入该文件时,该代码会给我一个错误,因为window.myValue.nestedValue
试图访问未定义的nestedValue
属性。
我该如何解决这个问题?
编辑根据下面christianeide的答案,我得到了以下错误:
● Test suite failed to run
TypeError: Cannot convert undefined or null to object
2 | delete global.window.myValue
3 | global.window = Object.create(window)
> 4 | global.window.myValue = {
| ^
5 | nestedValue: 'someValue'
6 | }
7 | }
at module.exports (jest.setup.js:4:17)
at node_modules/@jest/core/build/runGlobalHook.js:82:17
at ScriptTransformer.requireAndTranspileModule (node_modules/@jest/transform/build/ScriptTransformer.js:684:24)
at node_modules/@jest/core/build/runGlobalHook.js:72:27
at pEachSeries (node_modules/p-each-series/index.js:8:9)
at async _default (node_modules/@jest/core/build/runGlobalHook.js:58:5)
at async runJest (node_modules/@jest/core/build/runJest.js:345:5)