进行玩笑测试时无法使用脚本(从脚本标签调用)

时间:2019-01-07 13:33:37

标签: jestjs

脚本标记在进行笑话测试时不可用

public / index.html内容

script src="config.js" //script tag

public / config.js内容

window.appConfig = {
    oboServicePath: 'some path'
}

axios.ts

const axiosOBOInstance = axios.create({
    // @ts-ignore
    adapter: cacheAdapterEnhancer(axios.defaults.adapter, {
    defaultCache,
}),
baseURL: appConfig.getRequired('oboServicePath'),

错误

  

appConfig.getRequired作为window.appConfig未定义

appConfig应该在@window范围内可用。

1 个答案:

答案 0 :(得分:0)

Jest仅在单元测试中运行代码,而对index.html中的脚本标签一无所知。

appConfig将需要作为单元测试设置的一部分添加到window中。

public/config.js似乎包含应在每次测试之前运行的设置代码。

如果您单独使用Jest,则可以在每次使用setupFilessetupTestFrameworkScriptFile进行测试之前,告诉Jest运行public/config.js

如果您使用的是create-react-app,请创建src/setupTests.js(如果尚未使用)(如果使用的是src/setupTests.ts,则使用TypeScript)并添加设置代码。该文件"will be automatically executed before running your tests"