脚本标记在进行笑话测试时不可用
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范围内可用。
答案 0 :(得分:0)
Jest
仅在单元测试中运行代码,而对index.html
中的脚本标签一无所知。
appConfig
将需要作为单元测试设置的一部分添加到window
中。
public/config.js
似乎包含应在每次测试之前运行的设置代码。
如果您单独使用Jest
,则可以在每次使用setupFiles或setupTestFrameworkScriptFile进行测试之前,告诉Jest
运行public/config.js
。
如果您使用的是create-react-app
,请创建src/setupTests.js
(如果尚未使用)(如果使用的是src/setupTests.ts
,则使用TypeScript)并添加设置代码。该文件"will be automatically executed before running your tests"。