我嘗試用Jest for React-Native測試Animated.View
。當我將屬性visible
設置爲true時,它應該將我的視圖從opacity 0
設置爲opacity 1
。Jest test React-Native app的動畫查看
這是我的組件呈現:
<Animated.View
style={{
opacity: opacityValue,
}}
>
<Text>{message}</Text>
</Animated.View>
在當道具visible
變化opacityValue
得到更新:
Animated.timing(
this.opacityValue, {
toValue: this.props.visible ? 1 : 0,
duration: 350,
},
).start(),
我想確保我的看法是可見的,當我將它的屬性visible=true
。儘管視圖變得可見並且測試運行需要一些時間,但不透明度等於0
。
這是我的測試:
it('Becomes visible when visible=true',() => {
const tree = renderer.create(
<MessageBar
visible={true}
/>
).toJSON();
expect(tree).toMatchSnapshot();
});
我不知道我怎麼可能有玩笑等待?或者我怎麼能測試這個以確保當我將道具設置爲true時視圖變得可見?
感謝。
遇到同樣的問題,無法讓這個工作,你可以分享一個示例項目? 你能解釋爲什麼它有必要設置global.requestAnimationFrame = null並嘲笑日期嗎? 謝謝 – talarari