Reactjs 反应本机测试错误-无法在未安装的组件上找到节点

Reactjs 反应本机测试错误-无法在未安装的组件上找到节点,reactjs,react-native,jestjs,react-navigation,Reactjs,React Native,Jestjs,React Navigation,我对测试React和React本机应用程序的知识非常有限。所以我刚开始在我的React原生应用程序中设置一些测试。我正在使用expo,所以我安装了jest、jest expo和react测试渲染器。我想用一个非常简单的测试进行检查,我想这可能不是一个简单的测试,可能是因为导航,但无论如何我无法通过下面的错误。我正在发布我的应用程序代码,测试和我看到的错误 在package.json中 "jest": { "preset": "jest

我对测试React和React本机应用程序的知识非常有限。所以我刚开始在我的React原生应用程序中设置一些测试。我正在使用expo,所以我安装了jest、jest expo和react测试渲染器。我想用一个非常简单的测试进行检查,我想这可能不是一个简单的测试,可能是因为导航,但无论如何我无法通过下面的错误。我正在发布我的应用程序代码,测试和我看到的错误

在package.json中

  "jest": {
    "preset": "jest-expo",
    "transformIgnorePatterns": [
      "node_modules/(?!(jest-)?react-native|react-clone-referenced-element|@react-native-community|expo(nent)?|@expo(nent)?/.*|react-navigation|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|native-base|@sentry/.*)"
    ],
应用程序组件

 import React from 'react';     
 import { createAppContainer } from 'react-navigation';
 import { createStackNavigator } from 'react-navigation-stack';
 import MemberHomeScreen from './src/screens/MemberHomeScreen';
 import SignUpScreen from './src/screens/SignUpScreen';
 import { setNavigator } from './src/navigationRef';
 import SignInScreen from './src/screens/SignInScreen';
 import HomeScreen from './src/screens/HomeScreen';
 import MemberDetailsScreen from './src/screens/MemberDetailsScreen';
        
        const appNavigator = createStackNavigator(
          {
            Home: HomeScreen, 
            MemberHome: MemberHomeScreen,
            SignUp: SignUpScreen,
            SignIn: SignInScreen,
            MemberDetails: MemberDetailsScreen
          },
          {
            initialRouteName: 'Home',
            defaultNavigationOptions: {
              title: '',
              headerLeft: () => false,
              headerTitleAlign: 'center'
            }
          }
        );
        
        const App = createAppContainer(appNavigator);
        export default () => {
          return <App ref={navigator => {setNavigator(navigator) }} />
        }
试验

从“React”导入React;
从“反应测试渲染器”导入渲染器;
从“../../App”导入应用程序;
描述(“应用程序组件”,()=>{
它('正确渲染',()=>{
const tree=renderer.create(

你知道我做错了什么吗?感谢你的指导。
谢谢!

在更新依赖项后,我遇到了相同的错误


从主要版本
17
降级到最新版本
16
后,测试运行正常。即使
react
react dom
在版本17时,测试运行正常,但会出现不正确的对等依赖性警告。

所以猜测这与导航有关应用程序组件中的ion或其他内容,因为类似的测试适用于其他组件。适用于我。最新的16是16.14.0,因此我使用“测试”降级-renderer@16.14.0"。这也是GitHub上的一个条目。修复错误后,您可以订阅它以获取信息:您拯救了我的一天!谢谢!我已升级回16岁并开始测试运行!
import { NavigationActions } from 'react-navigation';

let navigator;
export const setNavigator = (nav) => {
  navigator = nav;
}

export const navigate = (routeName, params) => {
  navigator.dispatch(
    NavigationActions.navigate({
      routeName,
      params
    })
  )
}
import React from "react";
import renderer from "react-test-renderer";
import App from "../../App";

describe("App Component", () => {
    it('renders correctly', () => {
      const tree = renderer.create(<App />)
    });
});