首页 > 解决方案 > 如何开玩笑地模拟异步 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操作编写测试套件。我浏览了几份文件,但找不到适合我的情况的文件。如果有人知道答案,请帮忙。任何帮助都会非常显着。谢谢

标签: javascriptreact-nativeexporedux-thunkjest-expo

解决方案


推荐阅读