테스트용 라이브러리
"test": "cross-env NODE_ENV=test NODE_OPTIONS=--experimental-vm-modules jest --forceExit",
"test:silent": "cross-env NODE_ENV=test NODE_OPTIONS=--experimental-vm-modules jest --silent --forceExit",
"test:coverage": "cross-env NODE_ENV=test NODE_OPTIONS=--experimental-vm-modules jest --coverage --forceExit",
"test:unit": "cross-env NODE_ENV=test NODE_OPTIONS=--experimental-vm-modules jest __tests__/unit --forceExit"
스크립트에 이렇게 지정해놓고 yarn test 같은 식으로 출력했다.
console.log 같은 메시지 출력 xexpect 결과값 검증하기
.mockReturnValue(value).toBe(value).toEqual(value).toMatch(regexp | string)repository라는 클래스의 테스트 코드를 테스트할 때 프리즈마를 모킹할 수 없는 문제가 발생
-> 외부에서 class를 생성할 때 이 클래스를 생성하는 동시에 안의 prisma를 다른 걸로 대체(변경)하는 것...
왜 변경하는데ㅠㅠ?
그래서 클래스에서 직접 프리즈마 클라이언트를 참조하지 않고, 외부에서 프리즈마 클라이언트를 주입받아 사용하도록 변경하여야 함. 이걸 의존성 주입(Dependency Injection)이라고 함.
생성자 주입(Constructor Injection)을 사용하여 의존성 주입을 해보자.