我有一个组件,我在其中使用异步功能将样式应用于该组件,并且需要使用酶测试来涵盖此功能。
const SpinnerKf = new Keyframes.Spring({
loading: async (next: Object) => {
await next(getCircleStyles(0.5, '#fff'))
await next(getCircleStyles(34, styles.colorSuccess))
}
})
export class Spinner {
...
render () {
<SpinnerKf>...</SpinnerKf>
}
}
如何使用酶检查第二个await
中的函数返回正确的颜色(getCircleStyles
中的第二个参数)?当我在SpinnerKf
上检查颜色时,它仅返回#fff
(第一次等待时的颜色),但是我也需要检查第二次等待时的颜色。
感谢您的帮助。
答案 0 :(得分:0)
您可以jest.mock
Keyframes
。我不确定从哪里导入它,但是如果您将所有内容模拟到加载函数并传递一个间谍next
函数,则可以断言将颜色传递给next
。
动画很难测试,而彻底的测试将涉及很多模拟。不可能是这样。