javascript - 如何开玩笑地模拟异步 redux 操作?
问题描述
我在我的 expo 项目中使用 jest 进行单元测试。我是开玩笑的新手,我不知道如何使用模拟函数来测试我的 redux 操作。以下是我的操作SignIn
。
authActions.ts
..
import Api, {
SubscriptionPreference,
} from "@myPackage/api";
...
export const signIn =
({ email, phoneNumber, password }) =>
async (dispatch) => {
console.log("DATA")
dispatch({ type: types.STATE_LOADING });
try {
const result = (
await Api.accounts.accountsLogin({
email,
phoneNumber,
password,
})
).data;
if (!result.success) {
throw new Error(i18n.t("signin_incorrectUsername"));
}
await SecureStore.setItemAsync("authtoken", result.token);
dispatch(loadAuth());
} catch (e) {
const errorMessage = e.error?.message || e.message;
Alert.alert(errorMessage);
dispatch({
type: types.AUTH_ERROR,
payload: errorMessage,
});
}
};
正在从我的自定义包中调用 Api。所以我不确定如何为我的signIn
操作编写测试套件。我浏览了几份文件,但找不到适合我的情况的文件。如果有人知道答案,请帮忙。任何帮助都会非常显着。谢谢
解决方案
推荐阅读
- django - 使用 Django 从 Salesforce 检索数据
- fixtures - 错误 setDate 必须实现接口 DateTimeInterface symfony 固定装置
- openlayers - WFS 无法作为 GeoJSON 插入 OpenLayers 地图
- javascript - 如何在单词数组中找到字谜?
- go - Go - 我如何子类型一个包装的错误类?
- gitlab-ci - 将运行时选择的参数传递给作业而不输入,GitLab CI (GUI)
- django - 如何以django形式传递参数
- flutter - 将可穿戴数据拉到健身应用程序的有效方法是什么?
- java - 在springboot中使用Servletcontext.getresourceasstream返回null
- r - 有没有办法使用 dplyr 来改变现有数据帧的结构?