목록전체 글 (35)
유동

이전 글 [Jest/NestJS] 단위 / 통합 테스트 분리 및 실행하기 [1]에서 기본적인 유닛/통합 테스트 구조를 작성하고 실행하는 과정에 대해 적었었다. 근데 여기서 또 문제가 발생했으니..내가 생각했던 통합 테스트 전략통합 테스트 시작 전/후로 작업을 나누려고 했었다통합 테스트 시작 전 딱 한번 setup.ts에서ORM(Prisma) 커넥션 연결Redis 커넥션 연결이 생성된 커넥션들을 모든 통합 테스트에서 돌려서 사용하려고 했다. 이유는 사실 정말 별 생각 없이 단순히, 시작 => 연결, 종료 => 해제. 이런 구조가 빠르고 효율적일줄 알았다.예를들어 통합 테스트가 N개라면, 커넥션 N번 열었다 닫았다 하는 작업을 반복해야되니 시간이 오래걸리고, 리소스도 엄청나게 먹고, 한 컨텍스트를 공유하면 ..

NestJS 테스트 구조 설계 - 단위 테스트와 통합 테스트 분리하기NestJS를 기반으로 프로젝트를 진행하고 있는데, 핵심기능 테스트를 하기 위해 테스트에 잘못 발을 딛었다가 호되게 혼나고 거의 1달 동안 밤낮을 새가며 어느 정도 테스트 구조에 대해 갈피를 잡았다. 테스트를 효율적으로 운영하기 위해서는 단위(Unit) 테스트와 통합(Integration) 테스트를 명확하게 분리하는 것은 당연히 중요하고, Jest를 이용해서 얼마나 똑똑하게 실행할 것인지가 사실 관건이다. 공식문서에 가보면 Jest는 다양한 CLI 기능을 제공한다. Jest 공식문서이 글에서는 실제 프로젝트에서 어떻게 테스트 환경을 분리하고, 실행 구조를 구성했는지에 대해 정리해 볼 것이다.(문제 해결과 관련된 이야기는 다음 글에서 시리..
OAuth 플로우와 모바일 앱의 소셜 로그인 연동 구현하기현재 백엔드 핵심 기능을 구현한 후, 슬슬 프론트엔드(RN)를 구현하여 Expo를 이용한 모바일 개발환경을 구축 중이다.하나하나 배우면서 진행하다 보니 속도가 많이 느리긴 하지만, Github에서 대규모 Expo 프로젝트들을 염탐하며 코드 하나하나 자세히 살펴보는 과정이 정말 유익한것같다. 핵심 기능 구현 전에, 웜업으로 미리 만들어둔 Google 소셜 로그인을 연결하면서 백엔드만 개발했을 때는 몰랐던 한 가지를 공유하고자 한다.소셜 로그인의 두 가지 방식소셜 로그인에는 **서버 측 인증(Server-side Flow)**과 클라이언트 측 인증(Client-side Flow), 두 가지 방식이 존재한다서버 측 인증 (Authorization Cod..

어느덧 여기 온지 시간이 많이 흘렀다.. 친구들도 많이 생겼고, 정기적인 루틴도 만들고 나름 적응은 완벽하게 한것같다한가지 맘에 안드는게 집이 너무 오래돼서 샤워를 5분컷내야한다는 단점만 빼고.. (5분 이후로 온수가 1시간동안 안나옴) 그래서 매일 헬스장에 가는 루틴이 생겼다 빡세게 운동도 하고 샤워도 하고 오히려 좋다. (사실 샤워할려고 가는거임) 엇그제 온거같은데 시간이 많이 빠르게 지나갔다.. 처음 도착했을땐 영어를 입밖으로 거의 한마디도 못꺼냈는데 그래도 지금은 상대방이 대충 뭔소리를 하는지, 내가 뭘 말하고 싶은지 정도는 자연스럽게 할수 있을 정도니 나름 괜찮게 생각한다. 좀더 오래있고싶긴 한데, 아직은 잘 모르겠다. 오늘은 st. patrick's day라고 아일랜드 국경일이다 대충 이나라에..