我正在尝试测试我的减速器,但是当我对测试调度操作时,我的初始状态没有改变。
那是我的减速器:
export default function login(state = INITIAL_STATE, action) {
switch (action.type) {
case Types.SET_ERROR:
return {
...state,
error: action.error,
};
case Types.SET_LOGIN:
return {
...state,
user: {email: action.user.email, password: action.user.password},
};
default:
return state;
}
}
这是我的测试:
it('should handle SET_ERROR', () => {
const setErrorAction = {type: 'SET_ERROR', error: 'a'};
expect(login(INITIAL_STATE, setErrorAction)).toEqual({
...INITIAL_STATE,
error: 'a',
});
});
这是我的测试结果:
expect(received).toEqual(expected) // deep equality
- Expected
+ Received
Object {
- "error": "a",
+ "error": "",
"user": Object {
"email": "",
"password": "",
},
}
我没有意识到Types.SET_ERROR ==='SET_ERROR'是不正确的。
@@ segFault帮助我意识到我的动作的名称是不同的,因此因为我的动作未调度。