jest사용법_기본형태_Matcher

악음·2021년 11월 16일
0

jest

목록 보기
1/5
post-thumbnail

참고한 싸이트
ts환경에서 jest 설정
https://github.com/JamesPeiris/ts-jest-warning
jest의 기본
https://www.daleseo.com/jest-basic/

jest를 아라보자

jest를 왜써야할까?

테스트 코드를 작성하기 위해서 이다.

기본적인 디버그 툴인 console.log는 테스트하고자 하는 환경까지 화면을 이동시켜야만 확인할수있다.
하지만 테스트 코드를 작성한다면 명령어 한줄이면 테스트가 가능하다.npm run test
물론 모든 코드를 테스트할 필요는 없다 정말 필요하고 중요하고 번거로운 작업에 사용하면 될것같다.

테스트코드의 기본 구조

test("테스트 목적",()=>{
	expect("검증대상").matcher함수("기대결과")
})

위와같이 testCode를 작성한뒤 검증대상을 선택한후 matcher를 이용해 기대결과와 맞는지 테스트한다.

그렇다면 Matcher에 대해서 알아보자

Matcher의 종류

tobe

문자나 숫자같은 기본형(primitive)값을 비교하는데 사용

코드

test("1은 1이 나와야한다",()=>{
	expect(()=>{return 1}).toBe(1)
})
// 결과는 다음과같은 형식이다.
 PASS  __test__/basicTest_Matcher.test.ts
  ✓ 11나와야한다 (2 ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        1.513 s, estimated 3 s

toEqual

객체 비교

코드

test("똑같은 객체임?",()=>{
	expect({id:"i"}).toEqual({id:"i"})
})

toBeFalsy or toBeTruthy

boolean타입 뿐만 아니라 falsy하거나 truthy한 데이터를 테스트

코드

test("0은 falsy함?",()=>{
	expect(0).toBeFalsy()
})
test("'0'은 truthy함?",()=>{
	expect(0).toBeTruthy()
})

toHaveLength(), toContain()

배열과 관련된 매처

    const arr=[1,2,3]
    test('배열의 길이가 3임?',()=>{
      expect(arr).toHaveLength(3)
    })
	test('배열안에 3이 들어있음?',()=>{
      expect(arr).toContain(3)
    })

.not.

반대의 결과가 나올때 true를 반환한다.

test('배열안에 3이 안 들어있음?',()=>{
      expect(arr).not.toContain(3)
    })

이외에도 여러가지 맷처가있으니 찾아보도록하자

다음 포스팅은 비동기 객체를 시험하는 방법이다.

profile
RN/react.js개발자이며 배운것들을 제가 보기위해서 정리하기 때문에 비속어 오타가 있을수있습니다.

0개의 댓글