gpt4 book ai didi

reactjs - 如何使用 Redux Tool Kit 的 'createSlice' 设置一个单元测试 Redux?

转载 作者:行者123 更新时间:2023-12-04 12:12:32 27 4
gpt4 key购买 nike

我正在研究如何使用 Jest 对我们项目的 Redux 代码进行单元测试。我一直在阅读 'official' Redux recommendations ,但我们的代码不同于他们引用的 Redux 设置,因为我们使用了 Redux Tool Kit (RTK) 和 ' createSlice ',它会自动执行某些过程,例如 Action 创建者的创建。我们如何对 RTK 和 createSlice 创建的 Redux 进行单元测试?例如,由于 Action 创建器是自动创建的,测试它们是否有意义?一般来说,由于大部分 RTK 设置是自动的,我们需要测试什么? Redux Tool Kit 是否有任何工具可以使这更容易? (我没有看到)。

此外,我们还有 Redux Thunks,我们已经“手工”设置了它。我们看到了什么Redux documentation recommends ,但引用上述,我们是否应该以不同的方式处理这个测试,因为我们使用 RTK 和 createSlice 设置了主 Redux ?

最后,Redux 所依赖的 API 调用通过 Apollo Client 运行。我看到Apollo´s recommendations on how to test React with the React client .为了测试 Redux,我们应该使用类似 https://www.npmjs.com/package/mock-apollo-client 的东西来模拟 Apollo 客户端吗? ?

最佳答案

自己测试简单的 Action 创建者从来没有任何真正的好处。验证 addTodo("buy milk")返回 {type: "todos/addTodo", payload: "buy milk"}并没有让我真正相信我的应用程序运行正常。

测试 reducer 与以往一样:const actual = reducer(testState, someAction) , 和 expect(actual).toEqual(expected) .

测试 thunk 可能有也可能没有实际好处。特别是,如果您使用 RTK's createAsyncThunk API ,测试这些可能没有多大意义,因为大部分逻辑来自 RTK 本身。

(请注意 there's an open PR to rework that Redux testing docs page 。)

关于reactjs - 如何使用 Redux Tool Kit 的 'createSlice' 设置一个单元测试 Redux?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61910006/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com