我尝试用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