본문 바로가기

Front-End/Test

Jest란?

Jest는 자바스크립트 테스트 프레임워크다.

- 메타에서 개발

- React를 포함한 다양한 JS애플리케이션 테스트를 작성하고 실행하는 데 유용하다.

-유닛테스트,통합테스트,엔드투엔드테스트까지 다 커버할 수 있다. (차후에 설명)

 

Jest 특징

쉬운 설정 가능 : 기본적으로 설정 없이도 바로 사용할 수 있다.
빠른 실행 속도 : 테스트를 병렬로 실행해 빠르게 결과를 확인할 수 있다. 

스냅샷 테스트 : UI변화가 없는지 검증할 때 유용하다.

모킹 함수 기능 : 함수,모듈 등을 모킹(mocking)해서 독립적인 테스트 환경을 만들 수 있다.

 

Jest 언제 쓰나요?

 

  • 유닛 테스트:
    • 개별 함수나 모듈이 예상대로 동작하는지 확인.
    • 예) 로그인 함수가 올바른 데이터를 반환하는지 확인.
  • 통합 테스트:
    • 여러 모듈이 함께 동작할 때, 그 조합이 문제없는지 확인.
    • 예) API 호출과 데이터 처리 로직이 잘 동작하는지 테스트.
  • UI 테스트 (React 프로젝트):
    • 컴포넌트가 예상대로 렌더링 되는지 확인.
    • 예) 버튼 클릭 시, 상태가 제대로 업데이트 되는지 확인.
  • 스냅샷 테스트:
    • UI 출력이 변경되지 않았는지 비교.
    • 예) 변경 전후의 컴포넌트 출력 비교.

 

// sum.js
function sum(a, b) {
  return a + b;
}
module.exports = sum;

// sum.test.js
const sum = require('./sum');

test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});

 

 

테스트 할 땐 test , it 메소드를 사용하여 테스트한다.

test("쓰고 싶은 말", () => { expect(확인하려는 값).toBe(이 값이어야 해) }

 

프로젝트를 시작해봐야 언제 쓰는 게 적절한지 느껴질 거 같다.

좀더 해봐야겠다!

 

'Front-End > Test' 카테고리의 다른 글

Jest의 한계점과 Cypress(UI)  (0) 2025.01.03
Jest Method  (1) 2024.11.19