如何使用沉浸式的生产函数编写减速器的单元测试(笑话)? 使用Produce不会返回状态-状态是“可变的”。 Jest如何测试此代码并覆盖switch / case分支?
样品减少器:
const appReducer = produce((state: IAppState, action: IAction) => {
switch (action.type) {
case FETCH_APP_REQ:
break;
case FETCH_APP_SUCCESS:
state.appDetails = action.payload;
break;
case FETCH_APPLICATION_FAILURE:
break;
default:
return state;
}
}, initialState);
谢谢。
答案 0 :(得分:0)
一个简单的示例是以下测试动作FETCH_APP_SUCCESS
describe("app-reducer", () => {
describe("FETCH_APP_SUCCESS", () => {
it("should set the appDetails", () => {
const storeState = reducer(initialState, {
type: "FETCH_APP_SUCCESS",
payload: { appDetails: "appDetails" },
});
const newState = produce(initialState, (draftState) => {
initialState.appDetails = "appDetails";
});
expect(storeState).toEqual(newState);
});
});