Jest란 페이스북 팀이 개발한 테스트용 라이브러리
테스트 주도 개발 (TDD) 방식에서 테스트 코드를 작성하고 유효성 검증이나 함수의 기댓값을 검증하려고
매번 업데이트시마다 일일이 테스트해줘야 하는 번거로움을 커멘드 하나로 해결 가능함.
설치
npm i jest
기본 사용법
test("1 is 1", () => {
expect(1).toBe(1);
});
test(표기할로그,() => {
expect(파라미터).검증함수;
});
응용
import {
test
} from "../test/Test";
describe("validate total length", () => {
it("This is test function", () => {
expect(test(221)).toBeFalsy() // 반환값이 False면 통과
expect(test(2.3)).toBeTruthy() // 반환값이 True면 통과
expect(test(0)).toBeTruthy() // 반환값이 True면 통과
})
})
이렇게 테스트를 하다가 원하는 값이 나오지 않으면 어떤 부분에서 문제가 발생했는지 알려줌.
IDE마다 표현방식이 다를 수 있음. 아래는 JetBrain 예시.
toBe나 toBeFalsy 같은 메서드를 Matcher라고 하는데 이는 우리가 테스트할 때 필요한 거의 대부분의 기능을 제공해주고 있음.
아마 상상 이상의 기능 제공.
- toBeNull은 null에만 일치
- toBeUndefined는 undefined에만 일치
- toBeDefined는 toBeUndefined의 반대
- toBeTruthy는 if 구문이 true로 취급하는 모든 것과 일치
- toBeFalsy는 if 구문이 false로 취급하는 모든 것과 일치
- describe(), it()으로 그룹을 묶어서 작성 가능.
최근댓글