【发布时间】:2021-08-17 03:45:35
【问题描述】:
我有一个外部应用程序的设置并在 const 中启动它,然后将其放入 const allowAppInstance appConfig 的配置中
export const setupRemote = () => {
if (isRemoteAvailable) {
try {
...
const allowAppInstance = SetupConfig.start(remoteInstance);
return {
allowAppInstance,
};
} catch (e) {
console.error(e);
}
}
};
我在这里导出
export const appSetupConfig = () => setupRemote().allowAppInstance;
在组件中,我得到了这个设置并将它放在一个 const 中
import { appSetupConfig } from '.../myapp'
useEffect(() => {
const allowAppInstance = appSetupConfig();
...the rest of code
}, []);
应用程序可以工作,但是当我运行测试时,开玩笑并没有让它通过,它会导致这个错误:
TypeError: Cannot read property 'allowAppInstance' of null
43 | };
44 |
> 45 | export const appSetupConfig = () => setupRemote().allowAppInstance;
有什么方法可以模拟 allowAppInstance 以通过测试吗?我真的不知道该怎么做,我做错了什么
【问题讨论】:
-
单元测试时
isRemoteAvailable的值是多少?我认为虚假可能会导致window.setup未被定义,并最终导出以供使用。
标签: javascript reactjs jestjs react-testing-library testing-library