如果我的组件正在渲染以下内容,那么如何使用酶的浅层包装和Jest测试Main
是否正在渲染?
<div className='App'>
{this.state.uid &&
<React.Fragment>
<Route exact path='/' render={() => <Main uid={this.state.uid} />} />
</React.Fragment>
}
</div>
答案 0 :(得分:1)
find()
来搜索Route
,就像其他任何组件一样.render()
,我们就可以打电话给<Route>
道具shallow()
,我们应该得到<Main ...
wrapper.state('uid')
所以
expect(
wrapper
.find('Route[path="/"]')
.at(0)
.props()
.render()
).toEqual(<Main uid={wrapper.state('uid')} />)