[JEST] 기본 사용법

최범관·2023년 10월 27일
0

JEST

목록 보기
1/1
post-thumbnail

JEST

페이스북에서 만들어 자바스크립트 개발자들로부터 좋은 반응을 얻고 있는 테스팅 라이브러리이다.

설치

npm i -D jest

pakage.json에 test 스크립트를 jest로 추가해주면 npm test로 실행이 가능하다.

{
  "scripts": {
    "test": "jest
  }
}

기본 문법

describe('덧셈 테스트', () => {
	test('1 + 2', () => {
      expect(1 + 2).toEqual(3);
    });
});

describe는 테스트를 그룹화 해주는 역할을 하고 그룹 내부에 테스트들을 작성해주면 된다.

테스트는 아래와 같은 형식으로 작성할 수 있다.

test('테스트 설명', () => {
  	// 기대한다(검증대상이).이값이되길(값)
	expect(검증대상).toXx(기대값);
});

Matcher

Jest는 일치자(매처)를 사용해 다양한 방식으로 값을 테스트 할 수 있다.
기대한 값을 매처가 일치하는 지 확인해주는 방식으로 테스트가 진행된다.

toBe

=== 연산자를 사용해 엄격한 비교를 시행, 기본 자료형 테스트에 주로 사용

expect(1 + 1).toBe("2"); // fail
expect(1 + 1).toBe(2); // success

toEqual

객체와 배열같은 필드를 재귀적으로 확인해 동등을 확인

expect({a : 1}).toEqual({a : 1});

not

일치자가 원하는 값의 반대를 테스트 할 수 있음

expect(1 + 1).not.toBe(3);

Falsy, Truthy

toBeTruty : if 구문이 참으로 처리하는 것과 일치
toBeFalsy : if 구문이 거짓으로 처리하는 것과 일치

undefined, null

toBeUndefined : undefined만 일치
toBedefined : undefined의 반대
toBeNull : null만 일치

숫자형

toBeGreaterThan(n) : n보다 큰 수와 일치
toBeGreaterThanOrEqual(n) : n과 같거나 큰 수와 일치
toBeLessThan(n) : n보다 작은 수와 일치
toBeLessThanOrEqual(n) : n과 같거나 작은 수와 일치

toBeCloseTo(n, digits) : 부동 소수점 비교, 대략적으로 비교

test('부동소수점 비교', () => {
  const a = 0.1;
  const b = 0.2;

  expect(a + b).toBe(0.3); // fail
  expecdt(a + b).toBeCloseTo(0.3, 5); // success
});

문자열

toMatch(regExp) : 정규식과 비교해 일치

배열

toContain(value) : 배열이나 이터러블한 항목에 특정 값이 포함되어 있는지 확인

예외

toThrow : 함수가 호출될 때 오류가 발생하는지 확인

Matcher에 대한 더 자세한 내용은 Jest 공식 사이트에서 확인할 수 있다.

0개의 댓글