代码之家  ›  专栏  ›  技术社区  ›  Anu

如何在玩笑中模拟异步redux操作?

  •  0
  • Anu  · 技术社区  · 3 年前

    我在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 行动我查阅了好几份文件,但找不到适合我的病例的。如果有人知道答案,请帮忙。任何帮助都是值得的。非常感谢。

    0 回复  |  直到 3 年前
    推荐文章