-
2/8 TIL | 쉼표 작업 일지 #31. 습관처럼 사용은 금물! 당연한 건 없다.📝 기록/작업 기록 2023. 2. 8. 19:28
🔙 이전 시리즈
작업 회고
오늘은 로그인과 회원가입 프론트&백 구현을 완료했다. 사실 오전 중으로 PR 날리는 것을 목표했는데, 막상 테스트가 계속 원하는 대로 동작하지 않아 디버깅하느라 시간을 많이 낭비했다.
분명히 testServer.js에 고정적으로 반환되어야 하는 값을 넣어놨기 때문에 통과해야 하는 코드가 계속 실패하는 것이다. (회원가입 실패와 로그인 실패는 실패이기 때문에 통과한 것으로 보이는 것이지 실제로는 4개 모두 통과가 안 되는 상황이었음)
역시 정답은 에러 메시지에 있었다. 테스트 서버가 아닌 실제 서버로 요청이 가고 있었던 것!
테스트 서버는 구현해놓았지만 setupTestServer.js 셋업과 jest.config.js에 config를 설정해주지 않아 실제 서버의 api를 호출하고 있었던 것이다.
// setupTestServer.js import server from './testServer'; beforeAll(() => { server.listen(); }); afterEach(() => { server.resetHandlers(); }); afterAll(() => { server.close(); });
이렇게 setupTestServer.js를 셋업해주고,
// jest.config.js module.exports = { testEnvironment: 'jsdom', setupFilesAfterEnv: [ '@testing-library/jest-dom/extend-expect', './src/setupTestServer', // 👈 여기! ], };
jest.config.js에 해당 파일을 환경변수로 설정해 놓으니
제대로 동작하였다! 오늘 디버깅을 통해서 생각 없이 습관처럼 사용하지 말고, 정확하게 알고 사용해야 한다는 것을 깨달았다. 왜 이제서야 이 문제를 발견하게 되었는지 곰곰이 생각해 보니 앞서 구현한 기능들 중에 POST가 없고, GET만 있어서 이렇게 설정을 안 해줬어도 실 서버를 통해 가져오고 있어 테스트가 통과를 했었는데, 회원가입과 로그인을 위해 POST를 하게 되니 세팅해주지 않은 사실이 밝혀진 것! 아무튼! 당연한 것은 없다.. 습관처럼 사용하지 말고, 생각하면서 구현하자!
'📝 기록 > 작업 기록' 카테고리의 다른 글
2/11 TIL | 쉼표 작업 일지 #33. 결제 / 로그인 / 회원가입 UI 스타일링 (0) 2023.02.11 2/10 TIL | 쉼표 작업 일지 #32. 예약 기능 만들기!(feat. 데모데이 D-3) (0) 2023.02.10 2/7 TIL | 쉼표 작업 일지 #30. 외부 API는 어떻게 구현해야 할까? 마지막 스프린트! (0) 2023.02.07 2/5 TIL | 쉼표 작업 #29. 녹록지 않은 소셜 로그인! 내려놓아야 하는 것들. (1) 2023.02.05 2/2 TIL | 쉼표 작업 일지 #28. 커스텀 체크박스 만들기 (0) 2023.02.02