렌더링된 결과가 이전과 동일한지 확인해주는 것이다. props 값을 변경하여 변경한 내용을 업데이트 하고 싶다면 터미널에서 u를 눌러준다.'ㅁ'/
promise return하는지 확인하기
CRA로 프로젝트를 시작하면, jest가 따로 있다.
toBeInstanceOf(class)
expect(getTitle()).toBeInstanceOf(Promise);
resolve확인하기
toEqual - deep equality ===
toBe - ==
test에는 done 이라는 인자가 항상 넘어온다.
test('', (done) => {
});
비동기 테스트할때 done을 사용한다.
test('should resolve to new title asynchronously', (done) => {
jest.setTimeout(6000); // 기본 시간을 바꾼다.
getTitle().then(title => {
expect(title).toBe('new title');
done(); // 비동기를 기다려준다.
});
});
once
export function once(fn) {
var returnValue;
var called = false;
return function () {
if(!called) { // 함수를 한번만 실행하기 위한 조건문.
called = true;
returnValue = fn.apply(this, arguments);
}
return returnValue;
}
}
가짜함수 mock
The Jest Object -> Mock Functions -> jest.fn
const mockFn = jest.fn();
mockFn();
expect(mockFn).toHaveBeenCalled(); // 함수가 실행됐는지 확인