TDD를 위한 툴 JEST 사용법 - introduction, matcher

조용환·2024년 4월 18일
0

JEST

목록 보기
2/3

시작

typescript 에 적용시킬거면 jest + babel or ts-jest
jest + babel 은 type check는 해주지 않는다. 이를 원한다면 ts-jest 사용

matcher 사용

test('two plus two is four', () => {
  expect(2 + 2).toBe(4);
});

expect 는 예상 객체 반환 -> .tobBe(4)가 여기서의 매처. 실패한 매처 추적하여 에러 메시지 출력
객체 값을 확인하기 위해서는 toEqual 사용권장

undefined, null, false 처리

  • tobeNull : null에만 일치
  • toBeUndefined : undefnied에만 일치
  • toBeDefined : toBeUndefined의 반대
  • toBeTruthy : if 구문이 true로 취급하는 모든 것과 일치
  • toBeFalse : if 구문이 false로 취급하는 모든 것과 일치

숫자

부동 소수점 등가의 경우, 테스트가 사소한 반올림 오류에 따라 달라지지 않도록 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) 참고
학습 후 비동기 코드 검사 방법 체크함이 좋음

profile
practice react, javascript

0개의 댓글