Reactjs 使用React组件的代理时查找失败

Reactjs 使用React组件的代理时查找失败,reactjs,jestjs,enzyme,Reactjs,Jestjs,Enzyme,描述错误 我需要代理我的应用程序中的一些组件。它们的渲染正确,但我无法运行测试,因为enzime方法find抛出消息方法“simulate”只能在单个节点上运行。改为找到0。 复制 只需创建并运行那个简单的测试 import * as React from "react" import { shallow, configure } from "enzyme" import * as Adapter from "enzyme-adapter-react-16" configure({ adapt

描述错误 我需要代理我的应用程序中的一些组件。它们的渲染正确,但我无法运行测试,因为enzime方法find抛出消息
方法“simulate”只能在单个节点上运行。改为找到0。

复制

只需创建并运行那个简单的测试

import * as React from "react"
import { shallow, configure } from "enzyme"
import * as Adapter from "enzyme-adapter-react-16"

configure({ adapter: new Adapter() })

describe("Test", () => {
    it("Call directly", async () => {
        const r = shallow(<A />)
        r.find("button").simulate("click") // works well
    })
    it("Using fetcher", async () => {
        const r = shallow(<B />)
//        expect(r.html()).toEqual("?")  // HTML is  "<div><button type=\"button\">Btn</button></div>"
        r.find("button").simulate("click") // Method “simulate” is only meant to be run on a single node. 0 found instead.
    })
})

class A extends React.Component {
    public render() {
        return <div>
            <button type="button">
                Btn
            </button>
        </div>
    }
}

const B = createProxy(() => <A />)

function createProxy(Component) {
    // I need to do more things here
    return class extends React.Component {
        public render() {
            return <Component />
        }
    };
}
不渲染子组件

(例如,在此代码中,
B
shallow
渲染使用
mount
生成

- OS: Linux 4.9.0-deepin13-amd64 #1 SMP PREEMPT Deepin 4.9.57-1 (2017-10-19) x86_64 GNU/Linux
 - node --version `v8.11.3`
- npm --version 6.1.0
-  "enzyme": "^3.4.1",
-  "enzyme-adapter-react-16": "^1.2.0",
-  "react": "^16.4.1",
-  "react-dom": "^16.4.1",
-  "realm": "^2.14.2",