Vitest로 테스트 전/후 처리하기

테스트를 작성하다 보면 모든 테스트 케이스에 적용되어야 하는 공통 로직이 생기기 마련인데요. 이러한 모든 테스트 케이스에 중복되어 있으면 테스트 코드를 유지보수하는 것이 힘들어집니다.


이번 포스팅에서는 Vitest를 이용해서 이렇게 테스트 전이나 후에 항상 실행되야 하는 코드를 효과적으로 작성하는 방법에 대해서 알아보려고 합니다.


Vitest에서 제공하는 beforeEach(), afterEach() 함수를 사용하여 테스트 용 데이터를 어떻게 적재하고 정리하는지 알아보겠습니다. 그리고 beforeAll(), afterAll() 함수를 사용하여 공통 코드를 모든 테스트의 맨 앞과 뒤에서 딱 한 번 실행하는 방법에 대해서도 살펴보겠습니다.


📝 포스팅: https://www.daleseo.com/vitest-before-after/

🧑‍💻 실습 코드: https://stackblitz.com/edit/vitest-before-after?file=src%2FuserService.test.ts



차세대 테스팅 프레임워크로 각광받고 있는 Vitest를 공부하고 계신다면 아래 게시물도 같이 참고해보시면 도움이 될 것 같습니다.


📕 Vitest 처음 시작하기: https://careerly.co.kr/comments/99556

📗 Vitest의 자주 쓰이는 매처 함수 총정리: https://careerly.co.kr/comments/102708

Vitest로 테스트 전/후 처리하기

www.daleseo.com

Vitest로 테스트 전/후 처리하기

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 4월 15일 오전 1:35

 • 

저장 10조회 2,729

댓글 0

    함께 읽은 게시물


    <일이 많다> 스타트업의 CTO는 해야하는 일이 정말 많다. 어떤 때는 인프라를 다루기도 하고, 어떤 때는 플랫폼을 만들기도 하고, 어떤 때는 프론트엔드 개발을, 어떤 때는 백엔드 개발을, 어떤 때는 모바일 개발을 하기도 한다. 여러 사람을 채용할 수 있다면 좋겠지만, 작은 회사에서 채용이란 쉽지 않은 의사결정이다. <일 할 시간 벌기> 매니저가 해야 하는 일이 여러가지가 있는데, 주된 일 중 하나는 아무래도 미팅일 것이다. 의미있는 미팅도 있지만 당연히 그냥 들어가야만 하는 미팅도 존재하고, 내가 그 자리에 앉아있는 것만으로도 효과가 발생하는 미팅도 있다. 그러나 그렇게 하다보면 자연스럽게 실제 업무를 할 시간, 그러니까 내가 일을 할 시간이 부족해지는데 그런 케이스를 방지하기 위해 Block 일정을 만들어 둘 필요는 있다. <야근에 대해서> 나도 처음에 가장 못하던 일이 아닐까 싶은데, 디테일에 과도하게 매몰되다가 자연스럽게 야근을 하게 되었다. 예를 들어 2주 정도를 야근하면, 1주 정도는 그냥 내리 쉬어야만 했고, 그 뒤로 2주는 그에 대한 여파로 업무 효율이 떨어지는 식이 많았다. 단순히 체력적인 피로도 뿐만 아니라, 2주간의 야근으로 인한 정신적인 피로도가 잘 회복이 안되더라. 그래서 내가 야근한 건 2주였지만, 실제로는 3주를 손해본 거나 다름없었다. 간혹 일정이 급할 때 그렇게 할 때가 있기는 하지만, 그럼에도 만약 야근을 해야만 해결할 수 있는 문제가 있다면, 애초에 플래닝이 잘못된 건 아닐 지 고민해보면 좋겠다. 특히 매니저라면 더욱 그런 시야가 필요하다. '지금 당장 필요한 기능인 지' 체크해보는 게 의미가 있다고 생각한다. <신뢰 자산의 관리> 조직에서 신뢰 자산은 그 무엇보다 중요한 자산이라고 생각한다. 나와 팀원간의 신뢰, 나와 다른 매니저간의 신뢰, 경영진 사이의 신뢰 등 다양한 신뢰 관계를 잘 맺어두는 것이 업무의 효율을 높이는 데 큰 도움을 준다. 신뢰도가 낮아질 수록 조직은 불신을 기반으로 한 조직 관리를 하게 되는데, 그렇게 하게 될 경우 조직 구성원들의 만족도가 떨어지게 된다. 특히 조직에 대한 애정도가 높았던 구성원일 수록 더 그렇게 되는 듯 하다. 일을 잘 할 수 있는 인재가 신뢰를 받고 일을 잘 할 수 있게 만들어 주는 것이, 어떻게 보면 관리자의 주된 역할이라고 할 수 있다. 신뢰를 잃는 순간 모든 걸 잃는다.

     • 

    댓글 3 • 저장 37 • 조회 7,842


    <ChatGPT를 사용해본 프론트엔드 개발자의 후기>

    <인공지능은 과연 개발자를 대체할 수 있을까?> 요즘 세상이 인공지능 이야기, 챗지피티(chatGPT)와 관련된 이야기로 떠들썩하다. 어떤 사람은 드디어 인공지능에 있어서 특이점이 왔으며 이제 곧 머지 않아 많은 직업들이 대체될 것이라고 전망했으며, 어떤 사람은 어차피 있는 데이터들을 모아서 학습을 시키는 것일 뿐, 완벽하거나 인력을 대체할 만한 수준은 아니며 분명한 한계가 존재한다고 한다. 누구의 말이 맞을까? 나는 개발자로써, 이에 대해 생각을 해보았다. 우선, 정답은 아니더라도 나의 판단에 따른 ... 더 보기

    ChatGPT를 사용해본 프론트엔드 개발자의 후기

    Brunch Story

    ChatGPT를 사용해본 프론트엔드 개발자의 후기

     • 

    댓글 3 • 저장 56 • 조회 12,322


    IT 회사의 업무에서, 지금까지는 디자이너와 특히 개발자가 병목이었는데, 대 AI 시대에는 기획자가 병목이 될 수도 있겠다. 조금이라도 규모가 있는 기업에서의 가장 큰 병목은 보통 의사결정자라는 것을 생각해보면 그렇다.


    즉, 실무보다 의사결정을 AI에게 맡기는 것이 병목을 해소할 수 있는 가장 확실한 방법이며, 그러므로 부장님과 사장님을 AI로 대체하는 것이야말로 인류의 번영을 위한 가장 빠른 지름길이다. (아님. 아니 맞나?!)

     • 

    저장 1 • 조회 2,205


    [광고] 다음 직무 채용 예정입니다.


    - 프러덕트/사업 기획 1인

    - 프러덕트 디자인 1인

    ... 더 보기

    Lottie vs WebP – iOS 앱에서 애니메이션 성능 비교

    i

    ... 더 보기

    Lottie vs WebP Animation

    iOYES

    Lottie vs WebP Animation