티스토리 뷰

[!이시중] 2021년 11월 8일 12:00에 최초 작성된 글로써 원글은 https://yuniel.tistory.com/49 에서 확인할 수 있음.

 


알고 있고, 배우고 있는 jest의 matcher들을 정리하는 포스팅으로 제가 더 많이 알아가면 알아갈수록 추가될 예정입니다~ ^0^

matcher란 jest에서 제공하는 테스트 결과값을 확인하는 함수.

 

하단에 존재하는 matcher list.

ctrl + f로 찾는것을 권장합니다.

  • toBe
  • not.toBe
  • toEqual
  • toStrictEqual
  • toBeNull
  • toBeFalsy
  • toBeTruthy

 


 

1. toBe

test('toBe 사용법', () => {
  expect(결과값).toBe(기대값);
});
// 테스트 통과 사례
test('1 = 1이다', () => {
  expect(1).toBe(1);
});

기대값과 결과값의 일치 여부 확인 - 일치 해야 테스트 통과

 

 

2. not.toBe

test('not toBe 사용법', () => {
  expect(결과값).not.toBe(기대값);
});
// 테스트 통과 사례
test('1+1은 1이 아니다', () => {
  expect(1+1).not.toBe(1);
});

기대값과 결과값의 일치 여부 확인 - 일치 해야 테스트 통과

 

 

3. toEqual

test('toEqual 사용법', () => {
  expect(결과값).toEqual(기대값);
});
/**
 * fn.user = (name, age) => ({name, age});
 */
 
// 테스트 통과 사례
test('두 user object가 서로 일치한다', () => {
  expect(fn.user('김철수', 10)).toEqual({
    name: '김철수',
    age: 10
  });
});

기대값과 결과값의 일치 여부 확인 - 단순 값만 일치하면 통과 (toBe와의 차이점)

 

 

4. toStrictEqual

test('toStrictEqual 사용법', () => {
  expect(결과값).toStrictEqual(기대값);
});
/**
 * fn.user = (name, age, adress) => ({
 *  name, age, adress: undefined
 * });
 */
 
// 테스트 통과 사례
test('두 user object가 일치한다.', () => {
  expect(fn.user('김철수', 10, '서울시')).toStrictEqual({
    name: '김철수',
    age: 10,
    adress: '서울시'
  });
});

// 테스트 실패 사례 -> 요구하는 주소값이 없다.
test('두 user object가 일치하지 않는다.', () => {
  expect(fn.user('김철수', 10)).toStrictEqual({
    name: '김철수',
    age: 10
  });
});

기대값과 결과값의 일치 여부 확인 - 요구되는 모든 요소들을 충족해야 통과

 

 - toBe와 toEqual과 toStrictEqual의 차이점 : https://yuniel.tistory.com/47

 

[jest로 test하기] toBe vs toEqual vs toStrictEqual

toBe vs toEqual jest를 처음 배우면 예시로 가장 많이 나오는 것이 아마 toBe일 것이다. test('1 = 1이다.', () => { expect(1).toBe(1); }); 영어처럼 해석을 해 본다면 아마 1이 1이기를 기대한다 정도 되지..

yuniel.tistory.com

 

5. toBeNull

test('toBeNull', () =>{
  expect(결과값).toBeNull();
});
// 테스트 통과 사례
test('null = null이다.', () =>{
  expect(null).toBeNull();
})

기대값과 결과값의 일치 여부 확인 - 결과값이 null이어야만 통과


6. toBeFalsy

test('toBeFalsy', () =>{
  expect(결과값).toBeFalsy();
});
// 테스트 통과사례
test('toBeFalsy', () =>{
  expect(0).toBeFalsy();
});

기대값과 결과값의 일치 여부 확인 - 결과값이 거짓이어야만 통과


7. toBeTruthy

test('toBeTruthy', () =>{
  expect(결과값).toBeTruthy();
});
// 테스트 통과 사례
test('toBeTruthy', () =>{
  expect(1).toBeTruthy();
});

기대값과 결과값의 일치 여부 확인 - 결과값이 진실이어야만 통과

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함