reactjs - 在 React with Enzyme 中测试异步函数
问题描述
我有组件,我将样式应用于具有异步功能的组件,并且我需要使用酶测试来覆盖此功能。
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>
}
}
如何检查 Enzyme,第二个函数await
返回正确的颜色(第二个参数getCircleStyles
)?当我检查颜色时SpinnerKf
,它只返回#fff
(第一次等待的颜色),但我也需要检查第二次等待。
谢谢你的帮助。
解决方案
你可以jest.mock
将Keyframes
. 我不确定你从哪里导入它,但是如果你将所有东西都模拟到加载函数并传入一个间谍next
函数,你可以断言颜色传递到next
.
动画很难测试,彻底的测试会涉及很多模拟。这不可能。
推荐阅读
- linux - 如何使 OpenGL Core-profile 应用程序在没有 Core-profile 支持的旧 Linux 计算机上运行?
- sql - Datepart MONTH 无效列
- c++ - 在运行时跟踪所有函数调用
- google-apps-script - 为什么当我运行 Google 表格中的宏时它运行良好,但当我使用简单的每日时间触发器安排它时却不行?
- r - 如何在 R 中手动更改 tmap 中的连续比例颜色
- postgresql - postgress SQL 状态:22P02
- javascript - 使用 Discord.js 播放音乐时的延迟
- python - python - 如何替换字符串y Python中不等于字符串x的所有内容?
- javascript - React:为什么 JSON.stringify 中的值会呈现但不是没有?
- reactjs - Git - 无法添加文件 - 没有 Git Ingore 和 Git info/exclude 没有它们