我在我的 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
操作编写测试套件。我浏览了几份文件,但找不到适合我的情况的文件。如果有人知道答案,请帮忙。任何帮助都会非常显着。谢谢