Nest.js

DEV/Node.js

[Nest.js/Prisma] e2e 테스트 시 docker 로 격리된 MySQL 환경 세팅

들어가며 안녕하세요. 잡채입니다 🙇🏻 얼마 전 사이드 프로젝트 서버 작업을 하며, e2e 테스팅 중 docker 를 사용해 MySQL DB를 완전히 격리해 테스트 할 수 있도록 환경을 세팅해보았습니다. e2e 테스트 시 애플리케이션의 처음과 끝을 흐름에 따라 모두 테스트 하기 때문에 당연히 DB 접근을 해야합니다. 현재 프로젝트의 경우 개발용 MySQL DB 를 RDS에 올려 사용 중인데 아무리 개발용 데이터베이스라 하여도 여러번 진행되는 e2e 테스트 마다 테스트용 데이터들이 쌓이거나 바뀌도록 구성할 수는 없었습니다. 또한, 현재 사용중인 데이터를 잘못하여 update 시키거나 삭제할 수도 있기 때문에 e2e 테스트 중에는 격리된 데이터 베이스를 새로 구성하고 싶었습니다. 여러 자료를 찾아보던 중 pr..

DEV/Node.js

[Nest.js] Official Document 정리 (Controller) - 2

Status Code 언급한대로 기본적으로 상태 코드는 POST 요청을 제외하고는 항상 200이다. @HttpCode() decorator 를 통해 핸들러 레벨에서 쉽게 바꿀 수 있다. @Put() @HttpCode(204) modifyCat(): string { return 'modify cat'; } HttpCode 는 @nestjs/common 패키지에서 import 한다. 종종 상태 코드가 정적이 아니라 다양한 요인에 의해 달라질 수 있다. 이 경우 library-specific response 객체를 사용할 수 있다. (@Res()) Headers custom response header 를 위해 @Header() decorator 나 library-specific response 객체를 사용 ..

DEV/Node.js

[Nest.js] official document 정리 (설치, controller) - 1

들어가기 전에 최근 사이드 프로젝트로 앱스토어에 이미 출시되어 있는 Cherish 애플리케이션 개편 작업에 함께하게 되었습니다. 제가 맡은 역할은 다른 두 서버 개발자와 함께 Cherish 의 서버를 전면 개편하는 일 입니다. Nest.js 와 요즘 뜨고 있다는 Prisma 를 도입하려고 합니다. 이에 당분간 Nest.js 를 빡세게 공부해보려고 합니다. 아직 많은 내용을 보진 못했지만, document 를 보면 볼 수록 꽤 tsoa 와 비슷하다는 생각이 드네요! 학습하기에 보다 수월할 것 같습니다. 해당 내용은 Nest.js official document 내용을 개인적으로 학습하며, 번역한 글 입니다. https://github.com/NewCherish/Cherish-Server-Lab/tree/j..

jobchae
'Nest.js' 태그의 글 목록