gpt4 book ai didi

reactjs - reducer 的测试返回不等于预期的结果

转载 作者:行者123 更新时间:2023-12-05 04:39:08 25 4
gpt4 key购买 nike

我尝试使用 React 测试库测试我的 reducer ,但我不明白为什么我得到的结果与预期不符。你能给我解释一下吗?

我的 reducer

export const myReducer = (state = initialState, { type, payload }) => {
switch (type) {
case 'GET_DATA':
return [...payload];
default:
return state;
}
};

我的测试

import { mockedState } from 'mocks';

import {
myReducer,
GET_DATA,
} from 'store';

const initialState = []

describe('reducer', () => {

it('should get data', () => {
const getAction = {
type: GET_DATA,
payload: mockedState.data,
};
expect(myReducer(initialState, getAction )).toEqual([...mockedState.data]);
});
})

最佳答案

在你的 reducer 中,你在 switch case 中使用了字符串 "GET_DATA"。但是从您的测试来看,您的操作类型是一个变量 GET_DATA。尝试将 reducer 的第一个案例更改为

case GET_DATA: //remove the quotes

GET_DATA 来自“store”。

实际上,我只是记得 switch 语句的 case 必须是常量。因此,只需确保您从商店获取的 GET_DATA 实际上等于“GET_DATA”。

关于reactjs - reducer 的测试返回不等于预期的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70470168/

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