JEST(3)
-
JEST 함수 호출 마다 들어오는 데이터 확인 하는 방법 [ toHaveBeenNthCalledWith ]
코드 중 for문 안에 들어있는 함수를 테스트 코드로 나타내야 할 때 사용 할 수 있다. jest의 toHaveBeenNthCalledWith 함수를 사용 하여 반복문이 돌며 test에 a0, a1, a2, a3 이 들어 갈 때 테스트코드를 사용하여 순서에 맞게 들어가는 값을 확인 할 수 있다 사용 방법 expect(tasksRepository.test).toHaveBeenNthCalledWith(1, 'a0'); expect(tasksRepository.test).toHaveBeenNthCalledWith(2, 'a1'); expect(tasksRepository.test).toHaveBeenNthCalledWith(3, 'a2'); expect(tasksRepository.test).toHaveBee..
2022.10.25 -
JEST new Date() Mock 데이터 만드는 방법
Jest에서 expect를 진행 시 new Date() 값을 검증 하려고 할 때 검증은 완료가 되었지만 밀리 초가 차이가 생겨 에러 테스트가 실패하는 경우가 있다. 이런 경우를 방지 할 때 사용한다. 사용방법 jest.useFakeTimer('modern') 을 먼저 입력 해주고 jest.setSystemTime(설정 하려는 시간)를 변경 하지 않는 이상 테스트에 모든 시간은 고정된다. const time = new Date('2022-06-12'); jest.useFakeTimers('modern'); jest.setSystemTime(time); 시간 mock 설정 : https://jestjs.io/docs/jest-object#jestusefaketimersfaketimersconfig 설정 시간..
2022.08.02 -
JEST Unit .env 인식이 안될 때 해결 방법
Jest를 이용한 unit 테스트를 진행 중에 process.env 가 인식 되지 않는다. 해결방법 1. .env에 들어간 내용을 envFile.ts 또는 envFile.js 로 만든다. // envFile.ts process.env.CRYPTO = process.env.CRYPTO; process.env.JWTSECRET = process.env.JWTSECRET; 2. package.json에서 jest 설정 값을 수정해준다. "rootDir" : 프로젝트 최 상위 위치를 넣어준다. * setupFiles에 rootDir를 입력 할 때는 로 입력을 해주어야 한다. "setupFiles": rootDir 기준으로 만들었던 envFile.ts 파일위치를 넣어준다. // package.json // pac..
2022.06.19