typescript 에 적용시킬거면 jest + babel or ts-jest
jest + babel 은 type check는 해주지 않는다. 이를 원한다면 ts-jest 사용
test('two plus two is four', () => {
expect(2 + 2).toBe(4);
});
expect 는 예상 객체 반환 -> .tobBe(4)가 여기서의 매처. 실패한 매처 추적하여 에러 메시지 출력
객체 값을 확인하기 위해서는 toEqual 사용권장
부동 소수점 등가의 경우, 테스트가 사소한 반올림 오류에 따라 달라지지 않도록 toEqual 대신 toBeCloseTo 사용권장
toMatch로 정규식과 비교하여 문자열 검사 가능
test('there is no I in team', () => {
expect('team').not.toMatch(/I/);
});
test('but there is a "stop" in Christoph', () => {
expect('Christoph').toMatch(/stop/);
});
toContain을 사용하여 배열이나 이터러블 특정 항목 포함 여부 확인 가능
const shoppingList = [
'diapers',
'kleenex',
'trash bags',
'paper towels',
'beer',
];
test('the shopping list has beer on it', () => {
expect(shoppingList).toContain('beer');
expect(new Set(shoppingList)).toContain('beer');
});
특정 함수 호출될 때 오류 발생여부 테스트 시 toThrow 사용
추가 정보는 참조 문서(https://mulder21c.github.ㅇio/jest/docs/en/next/expect) 참고
학습 후 비동기 코드 검사 방법 체크함이 좋음