我正在使用jest来测试我的组件。
我想测试一个特定的方法,我知道该方法会改变状态。
it('should calculate width of publisher menu', () => {
window.innerWidth = 3000
const publisherContainer = new PubContainer(props)
console.log(publisherContainer.state.maxVisibleTabs) // maxVisibleTabs is 1
publisherContainer.resize() // here i'm using setState({maxVisibleTabs : 10})
console.log(publisherContainer.state.maxVisibleTabs) // maxVisibleTabs is 1
})
我想检查resize实际上是否将setState设置为10,但值1
仍然存在。
我知道setState是异步的,并且状态不会立即变异,但是我有没有优雅的解决方法来解决这个问题?