본문 바로가기
Test Code

[Jest] Intro

by junseokoo 2025. 4. 10.

Jest?

  • JavaScript를 위한 testing Framwork
  • Nest.js에는 미리 설치되어 있고, script도 설정 되어 있어 따로 뭘 할 필요는 없다.
  • Nest.js에서는 .spec.ts 가 테스트전용 파일
  • 그 외 설치
  • yarn add --dev jest
  • 기본 사용법
it("테스트 설명", () => {
  expect('검증대상').to~('기대 결과')
}
  • 예시
describe('덧셈', () => {
  const a =1, b = 2 // 일회용 변수

  it('a+b의값은 3',  () => {
    expect(a+b).toEqual(3);
  });
});
  • describe는 테스트 그룹을 묶어주는 역할
  • to~() 는 Test Matcher라고 한다.

Matcher

  • toEqual()
    • 객체가 일치한지 검증
  • toBe()
    • 단순 값 비교
  • toBeDefined()
    • 변수가 정의 되어 있는지 여부
  • toBeTruthy() / toBeFalsy()
  • toBeCalled() / toHaveBeenCalled()
    • 함수 호출 여부
  • toHaveLength() / toContain()
    • 배열의 길이 체크 / 특정 원소가 배열에 있는지 체크
  • toMatch()
    • 정규식 기반 테스트
  • toThrow()
    • 예외 발생 여부
    • 주의( expect()함수에 넘기는 검증 대상을 함수로 한 번 감싸줘야 한다.)
  • toHaveProperty()
    • 객체에 해당 key : value 가 있는지 체크
  • toBeCalledTimes() / toBeCalledWith()
    • 함수가 몇번 호출 되었는지 / 함수가 설정한 인자로 호출 되었는지
  • toReturn() / toHaveReturned()
    • 함수가 오류 없이 반환 되었는지 체크
  • toReturnTimes() / toHaveReturnedTimes()
    • 함수가 지정한 횟수만큼 오류없이 반환 되는지
  • toReturnWith() / toHaveReturnedSith(value)
    • 함수가 지정한 값을 반환 하는지

 

'Test Code' 카테고리의 다른 글

[JUnit] Intro  (0) 2025.04.11