체인의정석

Jest 에러 상황 테스트 하는 법 본문

개발

Jest 에러 상황 테스트 하는 법

체인의정석 2021. 7. 19. 11:44
728x90
반응형

https://jestjs.io/docs/using-matchers

 

Using Matchers · Jest

Jest uses "matchers" to let you test values in different ways. This document will introduce some commonly used matchers. For the full list, see the expect API doc.

jestjs.io

jest 에서 에러 상황을 테스트 하기 위해서는 다음과 같이 toThrow(Error)를 사용하거나 toThrow("에러메세지")를 사용하여 특정 에러값이 리턴되는지 체크하도록 할 수 있다.

function compileAndroidCode() {
  throw new Error('you are using the wrong JDK');
}

test('compiling android goes as expected', () => {
  expect(() => compileAndroidCode()).toThrow();
  expect(() => compileAndroidCode()).toThrow(Error);

  // You can also use the exact error message or a regexp
  expect(() => compileAndroidCode()).toThrow('you are using the wrong JDK');
  expect(() => compileAndroidCode()).toThrow(/JDK/);
});

이를 이용하여 오류가 나야하는 상황에서 오류가 나는지도 체크를 해주는 것이 좋다.

 

나는 json에서 바로 받아와서 클래스를 생성해줄 때 잘못된 형식이면 에러가 나야하므로 아래와 같이 테스트를 추가하였다.

toJSONobject에는 잘못된 값을 추가한 상태이다.

    let toJSONObject = JSON.parse(JSON.stringify(ivms101Example));
    console.log(toJSONObject)
    expect(() => Ivms101.fromJson(toJSONObject)).toThrow(Error);

 

728x90
반응형
Comments