Reactjs 超级表达式必须为null或函数,而不是未定义的

Reactjs 超级表达式必须为null或函数,而不是未定义的,reactjs,jestjs,enzyme,Reactjs,Jestjs,Enzyme,我正在尝试为以下反应组件配置带有酶的Jest: import React from "react"; import PropTypes from "prop-types"; class App extends React.PureComponent { render() { return ( <section className='container-menu'> <div className='

我正在尝试为以下反应组件配置带有酶的Jest:

import React from "react";
import PropTypes from "prop-types";

class App extends React.PureComponent {
    render() {
        return (
            <section className='container-menu'>
                <div className='item-logo'>
                    <img width='70' src='/images/logo.png'/>
                </div>
                <div className='item-menu'>
                    {/*<AppMenu/>*/}
                </div>
                <div className='item-page-header'>
                    {this.props.children}
                </div>
            </section>
        );
    }
}

export default App;
从“React”导入React;
从“道具类型”导入道具类型;
类App扩展了React.PureComponent{
render(){
返回(
{/*根据以下测试代码,配置酶在Jest中运行的方法是:

import App from "./App";
import React from "react";
import {configure, shallow} from 'enzyme';
import Adapter from 'enzyme-adapter-react-15';

describe("App", () => {
    configure({adapter: new Adapter()});
    const wrapper = shallow(<App/>);
    expect(wrapper.exists()).toBe(true);
});
从“/App”导入应用程序;
从“React”导入React;
从“酶”导入{configure,shallow};
从'enzyme-Adapter-react-15'导入适配器;
描述(“应用程序”,()=>{
配置({adapter:newadapter()});
常量包装器=浅();
expect(wrapper.exists()).toBe(true);
});
运行测试运行程序时,我收到以下错误:

TypeError:超级表达式必须为null或函数,而不是未定义的

  at _inherits (node_modules/enzyme-adapter-react-15/build/ReactFifteenAdapter.js:51:113)
  at node_modules/enzyme-adapter-react-15/build/ReactFifteenAdapter.js:135:3
  at Object.<anonymous> (node_modules/enzyme-adapter-react-15/build/ReactFifteenAdapter.js:400:2)
  at Object.<anonymous> (node_modules/enzyme-adapter-react-15/build/index.js:2:18)
  at Object.<anonymous> (src/app/view/App.test.js:4:27)
  at next (native)
  at handle (node_modules/worker-farm/lib/child/index.js:44:8)
  at process.<anonymous> (node_modules/worker-farm/lib/child/index.js:51:3)
  at emitTwo (events.js:106:13)
  at process.emit (events.js:191:7)
  at process.nextTick (internal/child_process.js:719:12)
  at _combinedTickCallback (internal/process/next_tick.js:67:7)
  at process._tickCallback (internal/process/next_tick.js:98:9)
at继承(node_modules/enzyme-adapter-react-15/build/ReactFifteenAdapter.js:51:113) 节点_modules/enzyme-adapter-react-15/build/reactefiteenadapter.js:135:3 在对象上。(node_modules/enzyme-adapter-react-15/build/ReactFifteenAdapter.js:400:2) 对象上。(node_modules/enzyme-adapter-react-15/build/index.js:2:18) at对象。(src/app/view/app.test.js:4:27) 在下一个(本地) 在句柄(node_modules/worker farm/lib/child/index.js:44:8) 在进程中。(node_modules/worker farm/lib/child/index.js:51:3) 两点钟(events.js:106:13) 在process.emit(events.js:191:7) 在process.nextTick(internal/child_process.js:719:12) at_combinedTickCallback(内部/流程/下一步勾选js:67:7) 在进程中。_tick回调(内部/process/next_tick.js:98:9)
我也有同样的问题。后来发现酶-adapter-react-15也依赖于enzyme@3.x.x

我通过运行
npmi--save dev解决了这个问题enzyme@latest

有关详细信息,您可以查看此问题: