실제 함수를 흉내 내는 가짜 함수이다.
테스트에서 외부 의존성을 제거하고, 함수가 어떻게 호출되었는지 추적하거나, 특정 동작을 시뮬레이션하고 싶을 때 사용된다.
단순 Mock function
const mockFn = jest.fn();
// jest.fn()을 이용하여 mock function을 만든다.
mockFn('hello', 123);
expect(mockFn).toHaveBeenCalled();
// 호출 되었는지 확인 true
expect(mockFn).toHaveBeenCalledWith('hello',123);
// 인자를 뭘로 받았는지 확인 true
내부 함수 Mock function
function greet(getName) {
return `Hello, ${getName()}!`;
}
const mockGetName = jest.fn().mockReturnValue('Alice');
expect(greet(mockGetName)).toBe('Hello, Alice!');
// true