jest로 오류를 테스트하는 동안 RED console.error LOG WALL 숨기기

테스트 중에 의도적으로 오류를 유발하는 동안 빨간색 오류 로그는 정말 짜증나고 잠재적인 중요한 정보를 눈에서 숨길 수 있습니다.

이에 대한 토론issue을 따라가면 Kent C. Dodds의 멋진 솔루션이 나옵니다.

에 대한 댓글 #5267







kentcdodds
에 댓글을 달았습니다.



다음 두 가지 이유로 omitJSDOMErrors를 사용하지 않기로 결정했습니다.
  • #5227을 생성한 거대한 로그가 브라우저에도 나타나므로 JSDOM 환경에서도 볼 수 있습니다.
  • @domenic said: "jsdomErrors는 JavaScript 오류 외에 다른 많은 경우에도 발생합니다. 예를 들어 CSS 구문 분석 또는 이미지 로드 실패."

  • #5227 때문에 JSDOM이 사용하는 콘솔은 테스트에 있는 것과 동일하므로 이제 조롱할 수 있습니다. 따라서 기록된 오류가 마음에 들지 않으면 다음과 같이 하면 됩니다.
    beforeEach(() => {
      jest.spyOn(console, 'error')
      console.error.mockImplementation(() => {})
    })
    
    afterEach(() => {
      console.error.mockRestore()
    })

    So I would recommend against making this change.


    tl;dr; A snippet to hide console.error logs during testing error messages.

    beforeEach(() => {
      jest.spyOn(console, 'error')
      // @ts-ignore jest.spyOn adds this functionallity
      console.error.mockImplementation(() => null);
    });
    
    afterEach(() => {
      // @ts-ignore jest.spyOn adds this functionallity
      console.error.mockRestore()
    })
    



    표지 사진 작성자: Markus Spiske on Unsplash

    좋은 웹페이지 즐겨찾기