테스트 과정에서 실제 객체를 대신할 가짜 객체를 만드는 것. 실제 객체를 이용해 테스트를 하기 번거롭거나 불가능할 때 mocking이 필요하다.
ex) DB 통신 함수 테스트 시, 실제 DB 대신 가짜 DB를 만든 후 요청을 보내서 예상한 결과가 나오는지 확인
Jest에서는 여러 가지 mocking 관련 함수들을 제공한다.
.toBe(value)
, .toBeCalledWith(arg1, ...)
등의 메서드를 붙여서 기댓값과 같은지 파악함.const Utils = require("...");
Utils.func = jest.fn();
const spy = jest.spyOn(video, 'play');
const isPlaying = video.play();
expect(spy).toHaveBeenCalled();
expect(isPlaying).toBe(true);
getThree.mockReturnValue(3);
makeDouble.mockImplementation(a => a * 2);