Reactjs 我得到TypeError:Ezyme::Selector在我尝试测试react引导组件时需要一个字符串、对象或组件构造函数

Reactjs 我得到TypeError:Ezyme::Selector在我尝试测试react引导组件时需要一个字符串、对象或组件构造函数,reactjs,jestjs,enzyme,react-bootstrap,Reactjs,Jestjs,Enzyme,React Bootstrap,我越来越 TypeError:Ezyme::Selector需要字符串、对象或组件 当我尝试测试一个组件时 我尝试使用ReactWrapper,使用div的类,还创建了一个id。没有任何效果 import React from "react"; import Dashboard from "../Containers/Dashboard/Dashboard"; import { BrowserRouter as Router } from 'react-router-dom' import {

我越来越

TypeError:Ezyme::Selector需要字符串、对象或组件 当我尝试测试一个组件时

我尝试使用
ReactWrapper
,使用div的类,还创建了一个id。没有任何效果

import React from "react";
import Dashboard from "../Containers/Dashboard/Dashboard";
import { BrowserRouter as Router } from 'react-router-dom'
import { configure, shallow, mount } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
import Container from 'react-bootstrap';
let container = null;
configure({adapter: new Adapter()});

describe('<Dashboard />', () => {
  let wrapper;

  beforeEach(() => {
    const fakeTopic = [
      {
        "name": "javascript",
        "display_name": "JavaScript",
        "short_description": "JavaScript (JS) is a lightweight interpreted programming language with first-class functions.",
        "description": "JavaScript (JS) is a lightweight interpreted or JIT-compiled programming language with first-class functions. While it is most well-known as the scripting language for Web pages, many non-browser environments also use it, such as Node.js, Apache CouchDB and Adobe Acrobat. JavaScript is a prototype-based, multi-paradigm, dynamic language, supporting object-oriented, imperative, and declarative (e.g. functional programming) styles.",
        "created_by": "Brendan Eich",
        "released": "December 4, 1995",
        "created_at": "2016-11-28T18:41:00Z",
        "updated_at": "2019-11-06T15:05:24Z",
        "featured": true,
        "curated": true,
        "score": 7954.724
      }
    ]
      wrapper = shallow(<Router><Dashboard jsTrendingTopics={fakeTopic} ><Container></Container></Dashboard></Router>);
  });

  it('should render <Container /> when recieving topics', () => {

      expect(wrapper.find(Container)).toBeTruthy();
  });
});
从“React”导入React;
从“./Containers/Dashboard/Dashboard”导入仪表板;
从“react Router dom”导入{BrowserRouter as Router}
从“酶”导入{configure,shall,mount};
从'enzyme-Adapter-react-16'导入适配器;
从“react bootstrap”导入容器;
让container=null;
配置({adapter:newadapter()});
描述(“”,()=>{
让包装纸;
在每个之前(()=>{
常数fakeTopic=[
{
“名称”:“javascript”,
“显示名称”:“JavaScript”,
“简短描述”:“JavaScript(JS)是一种具有一流功能的轻量级解释编程语言。”,
“描述”:“JavaScript(JS)是一种轻量级解释或JIT编译的编程语言,具有一流的功能。虽然它是最著名的网页脚本语言,但许多非浏览器环境也使用它,如Node.js、Apache CouchDB和Adobe Acrobat。JavaScript是一种基于原型的多范例动态语言,支持面向对象ed、命令式和声明式(如函数式编程)样式。“,
“创建人”:“Brendan Eich”,
“发布”:“1995年12月4日”,
“创建时间”:“2016-11-28818:41:00Z”,
“更新时间”:“2019-11-06T15:05:24Z”,
“特色”:正确,
“策划”:是的,
“分数”:7954.724
}
]
包装器=浅();
});
它('接收主题时应呈现',()=>{
expect(wrapper.find(Container)).toBeTruthy();
});
});
这是我要测试的组件:

    return (
        <Container id="container1">
            {props.jsTrendingTopics.length > 0 &&
                <CardDeck>
                    <Row>
                        {props.jsTrendingTopics.map((jsTrendingTopic, index) =>
                            <Col md="auto" className="margin-top margin-left" key={index}>
                                <Card  style={{ width: '18rem' }}>
                                    <Card.Img variant="top" src={require(`../../assets/${jsTrendingTopic.name}.png`)} />
                                    <Card.Body>
                                        <Card.Title>{jsTrendingTopic.display_name}</Card.Title>
                                        <Link to={`/language/${jsTrendingTopic.name}`}>
                                            <Button variant="primary">Details</Button>
                                        </Link>
                                    </Card.Body>
                                </Card>
                            </Col>
                        )}
                    </Row>
                </CardDeck>
            }

        </Container>
    )
}
返回(
{props.jsTrendingTopics.length>0&&
{props.jsTrendingTopics.map((jsTrendingTopic,index)=>
{jsTrendingTopic.display_name}
细节
)}
}
)
}

我希望找到组件,或者只是看看它是否存在。至少有些东西。

您的导入可能不正确,请参阅。尝试按如下方式修改它:

从'react bootstrap'导入{Container};
当您面对此类错误(或)时,
您可以使用以下方法进行调查:

console.log({Container})//将打印“{Container:undefined}”
console.log(wrapper.debug())//也非常有用

您是否尝试过在不将其包装在路由器内的情况下对其进行测试?检查您是否正确导出仪表板。