我在expo项目中使用jest进行单元测试。我是个新手,我不知道如何使用模拟函数来测试我的redux操作。以下是我的行动
SignIn
.
行动。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
行动我查阅了好几份文件,但找不到适合我的病例的。如果有人知道答案,请帮忙。任何帮助都是值得的。非常感谢。