DB 상태보다 사용자가 만든 조건과 기대 결과를 먼저 고정한다.
Promise, 예외 타입, nullable 결과가 실제 의존성과 맞아야 한다.
없는 사용자, 중복 데이터, 권한 실패를 한 테스트에 섞지 않는다.
toEqual, rejects, toHaveBeenCalledWith로 원인과 결과를 연결한다.
좋은 단위 테스트는 비즈니스 규칙, 의존성 계약, edge 입력, assertion 증거를 분리한다. mock이 실제 의존성과 다른 약속을 만들면 테스트는 빨리 지나가도 신뢰를 잃는다.
DB 상태보다 사용자가 만든 조건과 기대 결과를 먼저 고정한다.
Promise, 예외 타입, nullable 결과가 실제 의존성과 맞아야 한다.
없는 사용자, 중복 데이터, 권한 실패를 한 테스트에 섞지 않는다.
toEqual, rejects, toHaveBeenCalledWith로 원인과 결과를 연결한다.