<aside>
🏁 Goal: “나만의 항해 블로그 백엔드 서버를 Layered Architecture Pattern을 적용해 개선하기”
</aside>
❗ 지금까지 진행했던 기능 개발 위주의 과제가 아닌 백엔드 개발자의 기초를 다지는 과제가 될 것입니다!
<aside>
🚩 Requirement: 과제에 요구되는 필수 사항이에요
</aside>
<프로젝트 구조 개선하기>
- Layered Architecture Pattern을 적용하여 숙련 주차 과제 개선하기
- Repository Layer에서 Sequelize Model을 **생성자 주입(Constructor Injection)**을 이용해 전달받도록 개선하기
- 통합 테스트(Integration Test)
- 회원가입, 로그인, 로그인 검사 API의 통합 테스트(Integration Test) 구현하기
- **통합 테스트(Integration Test)**를 진행할 때
development가 아닌 다른 환경의 DB에 연결하기
- test 환경의 DB를 연결하더라도 괜찮습니다.
- 단위 테스트(Unit Test)
- 게시글 작성, 조회, 수정, 삭제 API에서
Controller, Service, Repository Layer의 단위 테스트(Unit Test) 구현하기
- 단위 테스트(Unit Test) 코드 실행 시 데이터베이스에 연결되지 않도록 하기
<aside>
❓ Why: 과제 제출시, 구글폼에 아래 질문을 고민해보고 답변을 함께 제출해주세요.
</aside>
- **단위 테스트(Unit test)**와 **통합 테스트(Integration test)**는 무엇이고, 어떻게 사용하는 걸까요?
- 통합 테스트(Integration test) 시나리오 작성하기
- 현재 구현된 기능에서 발생할 수 있는 예외 사항에 대한 시나리오를 작성해주세요!
<aside>
👍 Checklist : 과제 진행 간 고민해야 하는 부분
</aside>
- Restful한 설계를 잘 했나요?
- API 명세서에 따른 설계가 잘 되어있나요?
- 예외처리가 미흡한 부분은 없나요?