inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Rachel님의 게시글

Rachel Rachel

@raina06

수강평 작성수
1
평균평점
5.0

게시글 1

질문&답변

안녕하세요 jest toHaveBeenCalledTimes 관련 질문드립니다.

저도 같은 이슈를 겪었는데 jest.spyOn()으로 만든 mock은 테스트 간에 누적됩니다 . obj.minus는 mockFunction.ts에서 공유되는 단일 객체 이기 때문에, jest.spyOn(obj, "minus")로 만든 spy/mock이 이전 테스트의 상태를 유지 합니다. 즉, test A에서 한 번 호출되면, test B에서는 이미 call count = 1로 시작하게 돼요. 그래서 toHaveBeenCalledTimes(2)처럼 누적된 값을 보게 되는 거죠. 그래서 코드 상단에 다음과 같이 코드를 작성해 초기화 해주면 에러가 안납니다. afterEach(() => { jest.restoreAllMocks(); }); restoreAllMocks()는 jest.spyOn()으로 만든 스파이들을 원래 함수로 되돌리고 호출 횟수도 초기화 합니다.

좋아요수
0
댓글수
2
조회수
170