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

问题描述 投票:0回答:1

我正在研究如何使用Jest对我们的项目进行Redux代码的单元测试。我一直在阅读'official' Redux recommendations,但是我们的代码不同于它们所引用的Redux设置,因为我们使用了Redux Tool Kit(RTK)和'createSlice',它们可以自动执行某些过程,例如操作创作者创作。我们如何对RTK和createSlice创建的Redux进行单元测试?例如,由于动作创建者是自动创建的,因此对其进行测试有意义吗?通常,由于大多数RTK设置是自动的,因此我们需要测试什么? Redux Tool Kit是否有任何工具可以简化此过程? (我看不到任何东西)。

此外,我们还有Redux Thunk,我们已经通过手工设置了它们。我们看到了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 Client?

reactjs redux react-redux react-apollo redux-toolkit
1个回答
0
投票

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

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

测试暴徒可能没有实际好处。特别是,如果您使用的是RTK's createAsyncThunk API,则测试它们可能没有多大意义,因为大多数逻辑都来自RTK本身。

(注意createAsyncThunk。]

© www.soinside.com 2019 - 2024. All rights reserved.