我已经为代码推送配置了一个应用程序,除了 Jest 测试之外,它都能很好地运行。无法针对此错误呈现应用程序:
TypeError: Cannot read property 'CheckFrequency' of undefined
at Object.<anonymous> (app/index.js:7:66)
at Object.<anonymous> (index.ios.js:5:12)
at Object.<anonymous> (__tests__/index.ios.js:4:12)
在这一行:
const codePushOptions = { checkFrequency: codePush.CheckFrequency.MANUAL };
测试代码为:
import App from '../index.ios';
it('renders correctly', () => {
const tree = renderer.create(
<App />,
);
});
最佳答案
我在将codePush
集成到我目前正在使用的React Native应用程序中时遇到了这个问题。对我有用的是:
__mocks__/react-native-code-push.js
。 向其添加以下代码:
const codePush = {
InstallMode: {ON_NEXT_RESTART: 'ON_APP_RESTART'},
CheckFrequency: {ON_APP_RESUME: 'ON_APP_RESUME'}
};
const cb = _ => app => app;
Object.assign(cb, codePush);
export default cb;
在我的
index.js
文件中,我有:import codePush from 'react-native-code-push';
import MyApp from './src/'
const codePushOptions = {
installMode: codePush.InstallMode.ON_NEXT_RESTART,
checkFrequency: codePush.CheckFrequency.ON_APP_RESUME
};
export default codePush(codePushOptions)(MyApp);