April 20, 2021
jest coverage를 돌렸더니 한 파일에서 테스트를 통과를 못하고 있다..

Uncovered Line을 보니 39번 라인에서 테스트가 통과되지 않고있는것 같다.
39번째 줄은 reducer에서 action.type이 없을때 기본 state를 반환해주는 부분이다.
export default function reducer(state = initialState, action) {
// 생략
if (action.type === 'updateTaskTitle') {
return {
...state,
taskTitle: action.payload.taskTitle,
};
}
return state;
}reducer 테스트코드에 action.type이 없을경우에 대한 테스트 코드가 없어서 테스트가 통과가 안되는거같아 테스트코드를 추가해주었다.
describe('noType', () => {
it('returns initial state', () => {
const state = reducer();
expect(state).toBe(initialState);
});
});테스트 코드를 작성한 후 reducer에 아래와같이 추가해주었다.
reducer() 이렇게 아무런 인자도 받지 않았을경우 action.type을 확인할때 action이 undefined여서 에러가 나기때문에 action의 default parameter를 {type: ''}으로 설정해주었다.
export default function reducer(state = initialState, action = { type: '' }) {
// 생략
if (action.type === 'updateTaskTitle') {
return {
...state,
taskTitle: action.payload.taskTitle,
};
}
return state;
}모든 테스트가 통과되었다 🎉
