You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jest测试Redux Toolkit的createAsyncThunk时thunkAPI.getState不是函数

问题原因与解决方法

报错原因

  • createAsyncThunk生成的是thunk action创建函数,调用后返回的thunk必须交由store.dispatch执行,由Redux内置的thunk中间件自动注入参数、组装合法的thunkAPI对象才能正常运行。
  • 你测试代码中手动执行thunk、自行传入三个参数的写法不符合createAsyncThunk的内部执行逻辑,导致thunkAPI结构异常,getState方法不存在。

解决方案

直接修改测试用例,将getUsers()返回的thunk交给store.dispatch执行,awaitdispatch返回的Promise即可拿到执行结果:

describe('userSlice', () => {
  test('getUsers success', async () => {
    const result = await store.dispatch(getUsers());
    console.log(result)
    expect(result.type).toBe('user/getUsers/fulfilled');
    expect(result.meta.requestStatus).toBe('fulfilled');
  });
});

内容的提问来源于stack exchange,提问作者UK4

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 11:54:02