Vitest中Redux Toolkit Thunk测试结果不符合预期的问题求助
Vitest中Redux Toolkit Thunk测试结果不符合预期的问题求助
各位大佬好,我遇到个头疼的问题:我在项目里做了个NPC躲避逻辑——当玩家和NPC的距离在1到2格之间时,NPC会通过一个thunk分发动作,主动往后退1格。这个功能在项目里跑起来完全正常,但到Vitest测试环节就怎么都复现不出预期效果,肯定是我漏了什么非常明显的细节,可我就是找不出来……我用的技术栈是Redux Toolkit + Vitest。
目前我的测试代码大概是这样的:
describe('thunks', () => { it('should dispatch moveNpcAction and update state when handleUncaughtChickenResponse is called', async () => { const initialState = { actors: mockActors1, map: mockMap1 }; // Mock store方法 const dispatch = vi.fn(); const getState = vi.fn((): RootState => initialState); // 执行动作 await handleUncaughtChickenResponse()(dispatch, getState, undefined); // 验证dispatch是否调用了正确的action expect(dispatch).toHaveBeenCalledWith(moveNpcAction({ id: 'chicken1', dx: 1, dy: 0 })); // 验证状态是否按预期更新 const updatedState ...
现在不仅状态更新的验证卡壳了,就连dispatch的断言也可能有问题,我实在摸不着头绪,有没有朋友能帮我分析分析哪里出错了?
备注:内容来源于stack exchange,提问作者James Ward-Sinclair
相关产品推荐
相关产品推荐

