Reactjs React native jest抛出类型错误:无法读取属性';道具类型';未定义的

Reactjs React native jest抛出类型错误:无法读取属性';道具类型';未定义的,reactjs,react-native,jestjs,Reactjs,React Native,Jestjs,我正在尝试将我的应用程序与jest集成。当我运行纱线测试时,我得到以下错误,甚至忽略转换似乎都无效: ╰─± yarn test yarn run v1.17.3 $ jest FAIL __tests__/App-test.js ● Test suite failed to run TypeError: Cannot read property 'propTypes' of undefined at propTypes (node_modules/react-n

我正在尝试将我的应用程序与jest集成。当我运行
纱线测试
时,我得到以下错误,甚至忽略转换似乎都无效:

╰─± yarn test
yarn run v1.17.3
$ jest
 FAIL  __tests__/App-test.js
  ● Test suite failed to run

    TypeError: Cannot read property 'propTypes' of undefined

      at propTypes (node_modules/react-native/Libraries/Animated/src/createAnimatedComponent.js:178:31)
      at Object.oldCreate [as createAnimatedComponent] (node_modules/react-native/jest/setup.js:143:23)
      at Object.createAnimatedComponent (node_modules/react-navigation-stack/lib/commonjs/views/BorderlessButton.js:1:1222)
      at Object.require (node_modules/react-navigation-stack/lib/commonjs/views/TouchableItem.js:1:1053)

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        8.653s
Ran all test suites.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
以下是package.json中的jest配置:

  "jest": {
    "preset": "react-native",
    "transformIgnorePatterns": [
      "node_modules/(?!((jest-)?react-native|react-clone-referenced-element|expo(nent)?|@expo(nent)?/.*|react-navigation|@react-navigation/.*|sentry-expo|native-base))"
    ]
  }
这是我的基本测试文件:

/**
 * @format
 */

import "react-native";
import React from "react";
import App from "../src/App";

// Note: test renderer must be required after react-native.
import renderer from "react-test-renderer";

it("renders correctly", () => {
    renderer.create(<App />);
});
/**
*@格式
*/
导入“react native”;
从“React”导入React;
从“./src/App”导入应用程序;
//注意:在react native之后必须使用测试呈现程序。
从“反应测试渲染器”导入渲染器;
它(“正确渲染”,()=>{
create();
});
和App.js内容:

import React, {Component} from "react";
import {Provider as ThemeProvider} from "react-native-paper";
import {Provider as ReduxProvider} from "react-redux";
import {PersistGate} from "redux-persist/integration/react";
import Pushe from "react-native-pushe";
import {ReduxNetworkProvider} from "react-native-offline";

import {configureI18n} from "i18n";
import {store, persistor} from "store";
import Navigator from "navigator";
import NavigationService from "navigator/NavigationService";
import theme from "theme";
import Feedback from "containers/Feedback";

export default class App extends Component {
    constructor(props) {
        super(props);
        configureI18n();
        Pushe.initialize(true);
    }

    componentDidMount() {
        if (global.HermesInternal != null) {
            console.log("Herms enabled!");
        }
    }

    setNavigatorRef = (ref) => NavigationService.setTopLevelNavigator(ref);

    render() {
        return (
            <ReduxProvider store={store}>
                <ReduxNetworkProvider pingInterval={30000} pingOnlyIfOffline={true}>
                    <PersistGate loading={null} persistor={persistor}>
                        <ThemeProvider theme={theme}>
                            <>
                                <Navigator ref={this.setNavigatorRef} uriPrefix="test://" />
                                <Feedback />
                            </>
                        </ThemeProvider>
                    </PersistGate>
                </ReduxNetworkProvider>
            </ReduxProvider>
        );
    }
}
import React,{Component}来自“React”;
从“react native paper”导入{Provider as ThemeProvider};
从“react redux”导入{Provider as ReduxProvider};
从“redux persist/integration/react”导入{PersistGate};
从“react native push”导入push;
从“react native offline”导入{ReduxNetworkProvider};
从“i18n”导入{configureI18n};
从“存储”导入{store,persistor};
从“导航器”导入导航器;
从“导航器/导航服务”导入导航服务;
从“主题”中导入主题;
从“容器/反馈”导入反馈;
导出默认类应用程序扩展组件{
建造师(道具){
超级(道具);
configureI18n();
push.initialize(true);
}
componentDidMount(){
if(global.hermistinternal!=null){
log(“已启用HEMS!”);
}
}
setNavigatorRef=(ref)=>NavigationService.setTopLevelNavigator(ref);
render(){
返回(
);
}
}

@HPierce App.js添加了内容。