Unit testing React Redux工具包';s:酶笑话';s单元测试
我用的是新的。新的Redux工具包比旧的Redux效率更高。我使用新的Redux工具包创建了多个简化程序和操作。我对redux工具包的设置进行了一点解构。我使用酶和笑话进行单元测试。我的redux计数器初始状态为1。从我的测试中,在Unit testing React Redux工具包';s:酶笑话';s单元测试,unit-testing,jestjs,enzyme,redux-toolkit,react-typescript,Unit Testing,Jestjs,Enzyme,Redux Toolkit,React Typescript,我用的是新的。新的Redux工具包比旧的Redux效率更高。我使用新的Redux工具包创建了多个简化程序和操作。我对redux工具包的设置进行了一点解构。我使用酶和笑话进行单元测试。我的redux计数器初始状态为1。从我的测试中,在it范围内,我首先获取初始状态,然后在模拟('click')增加按钮之后,我得到了我预期的结果2。当我尝试测试it范围内的reduce按钮时,它会从increase的it范围中获取结果。如果我将intialState 1放在decrease按钮的范围内,它会给出失败的
it
范围内,我首先获取初始状态,然后在模拟('click')增加按钮之后,我得到了我预期的结果2。当我尝试测试it
范围内的reduce按钮时,它会从increase的it
范围中获取结果。如果我将intialState 1放在decrease按钮的范围内,它会给出失败的测试,因为它预期为2。我想我需要为这个计数器创建mockStore.test
。由于redux工具包的语法对我来说是新的,我不知道如何在counter.test
test套件中创建mockstore
另外,还有另一个react组件用于获取数据,即todolist。我还想做单元测试
这些组件。如果有人帮助我测试这些组件,我将非常高兴。我是单元测试的新手我会尝试redux mock store
如果我是你,你可以在每次测试之后(或者在每次测试之前)重置你的存储
这是官方文件中的一个示例:
// src/actions/users.test.js
import mockAxios from "axios";
import configureMockStore from "redux-mock-store";
import thunk from "redux-thunk";
import promiseMiddleware from "redux-promise-middleware";
import { getUsers } from "./users";
const mockStore = configureMockStore([thunk, promiseMiddleware()]);
describe("User Actions", () => {
let store;
beforeEach(() => {
store = mockStore({
users: {}
});
});
在beforeach函数中,我们重置了存储的值,因此断言中不会出现任何意外结果
你必须将这个模拟商店传递给你的应用程序,最简单的方法是将商店提供者
在你的应用程序中向上移动一级(到index.js
)。然后,你会这样嘲笑它:
wrapped = mount(
<Provider store={mockStore}>
<Root>
<Counter />
</Root>
</Provider>
);
wrapped=mount(
);
redux模拟商店怎么样?
?我可以试试:)…@k-wasilewski没有成功。感觉很傻。我添加了一个答案来澄清。。