생각/javascript

Jest

kyunghoonk00k 2023. 6. 16. 10:00
반응형

Jest는 JavaScript 테스트 프레임워크로 사용되며, 다양한 테스트 유형과 환경에 적용할 수 있는 많은 내장 기능을 제공합니다. 간단한 Jest 테스트 문법을 소개하겠습니다.

  1. test() 함수: 테스트 케이스를 정의하는 함수
javascript
test('테스트 설명', () => {
  // 테스트 로직 작성
});
  1. expect() 함수: 테스트 결과의 예상 값과 메소드 체이닝을 사용해 실제 결과를 비교합니다.
javascript
const result = 1 + 1; // 실제 코드에서 반환된 값
expect(result).toBe(2); // 예상 값은 2
  1. Matchers: expect() 함수에 연결하여 결과 비교를 수행하는 메소드
  • .toBe(): 두 값이 동일한지 확인
  • .toEqual(): 두 객체나 배열이 동일한지 확인
  • .not: 결과 부정을 위한 체이닝
  • .toBeTruthy(): 값이 참(Truthy)으로 평가되는지 확인
  • .toBeFalsy(): 값이 거짓(Falsy)으로 평가되는지 확인
  • .toBeNull(): 값이 null인지 확인
  • .toBeDefined(): 값이 정의되어 있는지 확인
  • .toContain(): 배열이나 문자열에서 특정 요소나 문자열이 포함되어 있는지 확인
  • .toHaveLength(): 배열이나 문자열의 길이가 일치하는지 확인버
  1. 비동기 코드 테스트: async/await 또는 .resolves/.rejects를 사용해 비동기 코드 테스트
  • async/await 사용 :
javascript
test('비동기 테스트', async () => {
  const data = await fetchData();
  expect(data).toEqual(expectedData);
});
  • .resolves/.rejects 사용 :
javascript
test('비동기 테스트', () => {
  return expect(fetchData()).resolves.toEqual(expectedData);
});
  1. 그룹화와 중첩된 테스트: describe() 함수를 사용해 관련 테스트들을 그룹화할 수 있습니다.
javascript
describe('사칙연산 테스트 그룹', () => {
  test('덧셈', () => {
    // 덧셈 테스트 로직 작성
  });

  test('뺄셈', () => {
    // 뺄셈 테스트 로직 작성
  });

  describe('곱셈과 나눗셈', () => {
    test('곱셈', () => {
      // 곱셈 테스트 로직 작성
    });

    test('나눗셈', () => {
      // 나눗셈 테스트 로직 작성
    });
  });
});

Jest는 더 많은 상세 기능을 제공합니다. 설정, 초기화, 종료, 스냅샷 테스팅 등의 고급 기능도 확인하시면 좋습니다. 공식 문서를 참고하시면 도움이 될 것입니다

반응형

'생각 > javascript' 카테고리의 다른 글

Chart.js  (0) 2023.06.23
동기 비동기  (1) 2023.06.16
JS면접 준비 / 채워 가기  (0) 2022.12.10
배열과 유사배열  (0) 2022.09.30
혼공스 고급 예외 처리  (0) 2022.09.25