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 객체 내부의 모든 속성에 대해서 깊은 비교를 하는데 사용한다…


모킹 예시 - 회원가입 기능

May 21, 2023

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


모킹(Mocking)

May 21, 2023

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