42blind2 [42Blind] Service 계층 통합 테스트 이 글은 NestJS를 사용하면서 Service 계층 통합 테스트에 대한 고민을 다룬 글입니다.아직 이해가 부족한 부분이 많기 때문에 더 좋은 방향을 알려주시면 큰 도움이 될 것 같습니다. 한 줄 요약SQLite In-memory DB를 활용한 통합 테스트를 진행하기로 결정했습니다.Github Action을 활용한 e2e 테스트에서 실제 배포 환경과 동일하게 구성하여 진행하고,필요시 Testcontainers를 도입하거나 단위테스트로 분리하는 리펙토링을 진행하기로 결정했습니다. Service 계층 테스트 문제점처음 테스트를 작성할 때, 모든 의존성을 Mock/Stub를 사용해서 단위 테스트를 작성하는 방식으로 접근했습니다.하지만 현재 비즈니스 로직은 단위 테스트를 진행할 만큼 복잡하지 않았고, Jest에.. 2024. 2. 25. [42Blind] TDD와 Github action 도입 한 줄 요약현재까지의 개발 프로세스에 문제점을 느끼고 해결 방안으로 TDD를 도입하기로 결정했습니다. 테스트를 자동화하기 위해 github action workflows를 추가했으며, 런타임 환경이 추가됨에 따라서 환경변수를 정의하는 .env 파일을 분리했습니다. TDD 도입Github action workflows 추가OS: ubuntu-22.04DB: mysql 8.0.35 (default)Engine: Node.js 20.11.0Test: Jest ^29.5.0환경변수(.env) 분리.env.prod: 프로덕션 환경.env.local: 로컬 개발 환경secrets.ENV_TEST: github action 테스트 환경 개발 프로세스 문제점1. 지금 API 테스트 가능한가요? 프론트와 협업을 진행하면.. 2024. 2. 5. 이전 1 다음