Reactjs 使用React组件的代理时查找失败
描述错误 我需要代理我的应用程序中的一些组件。它们的渲染正确,但我无法运行测试,因为enzime方法find抛出消息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
方法“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",