我正在测试一个有条件地渲染包装组件的组件.我正在使用酶和jest,并且通过shallow()方法呈现根组件.问题是测试Root组件是否包含包装组件.
如何在不使用mount()render方法的情况下测试包装的组件是否存在?
hoc.component.jsx
export function HOC(Component) {
render() {
return <Component />
}
}
Run Code Online (Sandbox Code Playgroud)
wrapped.component.jsx
class WrappedComponent extends React.Component {
...
}
export default HOC(WrappedComponent)
Run Code Online (Sandbox Code Playgroud)
root.component.jsx
class RootComponent extends React.Component {
render() {
return (
condition ? ... :
<WrappedComponent/>
)
}
}
Run Code Online (Sandbox Code Playgroud)
当测试root.component.jsx我想检查是否存在WrappedComponent.
root.component.spec.js 进口{} WrappedComponent从'WrappedComponent'
const wrapper = shallow(<RootComponent {...props}/>);
wrapper.find(WrappedComponent).length => returns 0
Run Code Online (Sandbox Code Playgroud)
如果我记录wrapper.debug(),我会看到以下内容:
...<HOC(WrappedComponent) />
Run Code Online (Sandbox Code Playgroud)
在测试RootComponent时,如何测试WrappedComponent的存在?