Project 준비 : Jest란

김병민·2021년 8월 6일
0

Project

목록 보기
1/2

Jest

2. Jest란?

Facebook에서 유지 관리하는 JavaScript 테스트 프레임 워크

테스트는 서비스를 개발하고 유지하기 위한 장치 중 하나입니다.
이러한 테스트를 작성한다면 버그를 예방하고 에러 방지, 기능 확인 시간을 줄여 줄 것입니다.
이러한 테스트 프레임 워크 중 Jest는 사용 빈도가 가장 높으며 단순함에 집중하여 누구나 쉽게 테스트를 할 수 있도록 고안되었습니다.

2. 사용법

설치

npm install --save-dev jest

준비

package.json 파일 안에 scripts항목을 수정한다.

"scripts": {
  "test": "jest --watch"
},

테스트할 기능을 모듈로 export 해준다.

function plus (num) {
  return num + 5
}

export default plus

__test__ 폴더 안에 0000.test.js 형식으로 작성
후 파임 import

import plus from 경로
test(설명내용, ()=>{
	expoect(plus(5)).toBe(10)
})

Matchers

  • toBe : 값이 맞는 지를 확인

  • toEqual : 값이 맞는 지를 확인

    toBe와 toEqual의 차이점
    객체나 배열은 재귀적으로 돌면서 검사해야하기 때문에
    toEqual 혹은 toStrictEqual(Deep equality용)을 사용해줘야한다.

  • toBeNull

  • toBeUndefined

  • toBeDefined

  • toBeTruthy

  • toBeFalsy

  • toBeGreaterThan : 크다

  • toBeGreaterThanOrEqual : 크거나 같다

  • toBeLessThan : 작다

  • toBeLessThanOrEqual : 작거나 같다

  • toBeCloseTo : 근사치를 확인

    컴퓨터는 2진법을 사용하기 때문에 소수점 숫자들의 연산을 정확하게 계산하지 못하기에 toBeCloseTo를 사용해야한다.

  • toMatch(정규표현식) : 문자열안에 해당 값이 있는지를 확인

  • toBeContain : 배열에 특정값이 있는 지를 확인

비동기처리

클라이언트에서 서버와 비동기 작업을 진행 시
test에서도 비동기로 진행해줘야한다.
done() , async 등의 방법을 사용

test 전후 작업 처리

  • beforeEach : 전역변수여도 beforeEach안에서 값이 정해지면 각 케이스가 시작될 때마다 beforeEach 값으로 바뀐다
//전역변수
let num = 10
beforeEach(()=>{
 num =0 
})
  • afterEach : 전역변수여도 afterEach 값이 정해지면 각 케이스가 끝날때 마다 afterEach안의 값으로 바뀐다.
//전역변수
let num = 10
afterEach(()=>{
 num =0 
})
  • beforeAll : 전체 케이스가 시작되기 전 한번 실행된다

  • afterAll : 전체 케이스가 끝나고 한번 실행된다.

  • describe(설명, ()=>{묶음처리}) : 비슷한 것끼리 묶음 처리가 가능하다

목함수 사용법

https://www.youtube.com/watch?v=9xBjErtlr1o

공식문서

https://jestjs.io/docs/expect

profile
I'm beginner

0개의 댓글