使用thunk和axios时,Moxios总是回调为空。

我在模拟我的axios函数时卡住了,它总是返回空。

LoginAction:

export function loginUser(email, password) {
  return function(dispatch) {
    return axios
      .post(`${API_URL}/users/authenticate`, { email, password }, { withCredentials: true })
      .then(response => {
          localStorage.setItem("token", JSON.stringify(response.data.user.id));
          dispatch(setupUser(response.data.user.id));
          dispatch({ type: AUTH_USER });
          dispatch({ type: CLEAR_LOGIN_MESSAGE });
      });
  };
}

Test:

describe("async actions", () => {
  beforeEach(() => {
    moxios.install();
  });
  afterEach(() => {
    moxios.uninstall();
  });

  it("logs in", () => {
    moxios.wait(() => {
      const request = moxios.requests.mostRecent();
      request.respondWith({
        status: 200,
        response: {name:"Jill", id:1},
      });
    });

    const expectedActions = [
      { type: AUTH_USER },
      { type: CLEAR_LOGIN_MESSAGE },
      { type: SET_UP_USER, information: {name:"Jill, id:1} },
      { type: REFRESH_DASHBOARD, dashboard: "" },
    ];

    const store = mockStore({});
    return store.dispatch(loginUser({email:"test", password:"test"})).then(() => {
      expect(store.getActions()).toEqual(expectedActions);
    });
  });
});

我得到:

expect(received).toEqual(expected) // deep equality

- Expected
+ Received

- Array [
-   Object {
-     "type": "AUTH_USER",
-   },
-   Object {
-     "type": "CLEAR_LOGIN_MESSAGE",
-   },
-   Object {
-     "information": 
-       "id": "1",
-       "name": "Jill",
-     },
-     "type": "SET_UP_USER",
-   },
-   Object {
-     "dashboard": "",
-     "type": "CLEAR_DASHBOARD",
-   },
- ]
+ Array []

为什么recieved返回空?

解决方案:

在你的dispatch中,你写道

loginUser({email:"test", password:"test"})

然而你的动作并不期待一个对象,它需要2个参数。

export function loginUser(email, password) {

我是这样叫的,才得以成功。

loginUser("test", "test")

希望有人觉得这个有用

给TA打赏
共{{data.count}}人
人已打赏
未分类

将多个列的聚合值作为键,将列转为行。

2022-9-8 16:08:23

未分类

如何使用pandas比较一个数据框的1个元素和其他数据框的所有元素?

2022-9-8 16:08:25

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索