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轉換的樣式化組件。我想測試我正在狀態只開放爲打開狀態的過渡已經完成之後纔到來的組件。我使用的玩笑快照測試。同時用開玩笑編寫測試用例的任何一個面對此類問題的?請幫忙。