SERIES

테스팅을 위한 Jest

6 Posts·Last updated on May 21, 2023

Jest

May 19, 2023

Jest란? 는 메타(구 페이스북)가 만들고 유지보수하는 자바스크립트 테스팅 프레임워크이다. 가 등장하기 이전에는 테스팅을 위해서 , , 에 적용할 각각의 라이브러리를 선택해서 적용해야 했었는데, 그렇다보니 각각의 라이브러리가 유사하지만 조금씩 다른 API 때문에 여러 프로젝트에서 일하는 자바스크립트 개발자들에게 혼란을 주기도 했었다. 는 Al…


비동기 코드 테스트

May 20, 2023

기본적으로 테스트 코드를 작성할 때 비동기 작업에 대한 테스트를 진행해야 하는 경우에는 에게 아직 비동기 작업이 수행중이라는 사실을 알려줘야 한다. 그렇지 않으면 비동기 작업은 아직 수행되지 않은 채로 함수가 종료되는 시점에 바로 테스트가 완료된다. , , 마다 비동기 작업을 알리는 방법은 약간의 차이점이 존재하는데 이에 대해서 정리해보고자 한다. …


Jest 전역 환경

May 20, 2023

테스트 파일 안에서 는 테스트를 위한 여러 유용한 메소드와 객체를 전역 환경에 추가한다. 자세한 내용은 공식 문서에서 확인할 수 있고 여기서는 유용하다고 생각되는 몇 가지의 기능을 정리해보고자 한다. 영역 묶기 연관이 있는 함수는 같은 블록에 존재하는게 관리하기 좋다. 를 사용하면 여러 함수를 하나의 블록으로 묶을 수 있다. 테스트 전/후 처리…


Matcher

May 20, 2023

Matcher란? 에 입력한 어떤 검증 대상에 대해서 기대 결과가 무엇이 나와야 하는지를 검사하는 함수이다. API 문서에서 확인할 수 있듯 다양한 가 존재하는데, 여기서는 기본적이면서 유용한 몇 가지의 에 대해서만 작성해 보고자 한다. toBe 단순한 값의 비교에 사용한다. toEqual 객체 내부의 모든 속성에 대해서 깊은 비교를 하는데 사용한다…


모킹(Mocking)

May 21, 2023

모킹이란? 기존 함수의 기능을 흉내내는 가짜 함수를 만들어 내는 것을 말한다. 우리가 테스트 코드를 작성할 때 데이터베이스나 외부의 서버로부터 데이터를 가져오는 등의 외부에 의존해야 하는 경우가 있다. 이런 경우에는 단위 테스트가 외부의 상황에 따라서 결과가 달라지는 문제점이 발생하기 때문에 외부에 의존하는 코드를 가짜로 대체하는 모킹을 활용할 수 있다.…


모킹 예시 - 회원가입 기능

May 21, 2023

시나리오 서비스에서 회원가입 기능이 존재하는데, 회원가입에 성공하면 사용자에게 이메일과 문자를 보내서 알려주는 기능이 있다고 가정해보자. 이메일과 문자를 보내는 요청은 수행할 때마다 , 씩 발생한다고 가정하면, 회원가입 기능을 테스트할 때마다 비용이 발생하게 되므로 해당 기능을 모킹해서 처리해야 한다. 이번에는 를 이용해서 모킹하는 여러 방법을…