1
下面是两种方法,我用改变弹出包装的状态。如何测试发生反应具有的CSS过渡组件?
const waitTransitionEnd = (element) => new Promise(resolve => {
const onEnd =() => {
element.removeEventListener('transitionend', onEnd)
resolve()
}
element.addEventListener('transitionend', onEnd)
})
doOpen() {
const dialog = findDOMNode(this.dialog)
this.setState({ status: OPENING })
return waitTransitionEnd(dialog).then(() => {
this.setState({ status: OPENED })
this.focus()
})
}
doClose() {
const dialog = findDOMNode(this.dialog)
this.setState({ status: CLOSING })
return waitTransitionEnd(dialog).then(() => {
this.setState({ status: CLOSED })
})
}
所以这个对话框是带有css转换的样式化组件。我想测试我正在状态只开放为打开状态的过渡已经完成之后才到来的组件。我使用的玩笑快照测试。同时用开玩笑编写测试用例的任何一个面对此类问题的?请帮忙。