기존 블로그 프로젝트를 typescript로 마이그레이션 하면서,
tdd방식으로 변경하는 작업을 하기위한 셋업을 하려고한다.
> npm i --save-dev jest node-mocks-http
> npm i --save-dev @types/jest
> jest --init
위 명령어를 완료하면 package.json의 "test": "jest"가 생기고 jest.config.ts파일이 생성된다.
테스트를 할 때 dotenv같은 중요한 부분은 따로 테스트를 진행해줘야할때는
.env파일을 복사하여 .env.test라고 이름을 지어주고, package.json에서 다음과 같이 test를 변경한다.
"scripts": {
"test": "DOTENV_CONFIG_PATH=./.env.test jest --watchAll",
"start": "nodemon src/app.js"
},
.env.test를 사용해서 Dotenv관련된 테스트를 진행할 때 필요한 설정이며, 윈도우에서는 별도의 라이브러리를 통해 사용해야한다.
jest.config.ts의 설정도 일부 변경해야한다.
setupFiles: ["dotenv/config"],
해당 설정을 위와 같이 변경하자.
--watchAll은 모든 로그를 보는 설정임
변경을 완료하면 이제 .env가 아닌 .env.test를 기준으로 dotenv관련된 부분이 변경된다.