Book/Spring boot 와 AWS로 혼자 구현하는 웹서비스

[Book] 3) 테스트 코드를 작성해보자!

kkkkkkkkkkkk 2022. 3. 27. 17:07

🕶  들어가기 앞서...

견고한 서비스를 만들기 위해서는 TDD 하거나 최소한 단위 테스트 코드를 꼭 작성 해야합니다.

대부분의 회사가 테스트 코드에 관해 요구를 하고 있으며 채용 정보를 보아도 “테스트의 경험이 있는 분" 을 많이 뽑는 것을 볼 수 있습니다.

이처럼 테스트 코드는 절대 빠질 수 없는 요소 중에 하나라고 볼 수 있습니다.

먼저 테스트 코드를 작성하기 전에 TDD 와 단위 테스트에 대한 개념들을 조금씩 살펴 봅시다.

TDD 는 테스트가 주도하는 개발을 의미합니다. “테스트 코드를 작성을 하며 개발을 진행한다.” 라는 이야기입니다.

단위 테스트 는 TDD의 첫번째 단계인 기능 단위 테스트 코드를 작성하는 것을 이야기 합니다.

지금은 TDD 가 아닌 단위 테스트 코드 를 배우는 것을 목표로 두고 있습니다.

😱  테스트 코드를 작성하는 이유가 무엇일까요?

기능을 테스트 하는데 System.out.println() 으로 눈으로 직접 검증 하면 안되나요??

서버를 실행해서 테스트를 진행 해도 되지 않나요??

postman 으로도 request 를 보내서 확인 하면 되지 않나요?

자 여기서 우리는 매번 테스트 할 때 서버를 실행하고 확인해보고 종료하고 코드를 수정하고 하면 많은 시간이 걸릴 수 있겠죠??

테스트 코드를 작성하면 눈으로 쉽게 검증이 되고 시간도 절약할 수 있는데 그렇게 하실 겁니까?

😭  테스트 코드의 이점을 살펴보자

  1. 개발단계 초기에 문제를 빠르게 발견 할 수 있도록 도와줍니다.
  2. 리펙토링을 하거나 업그레이드 시의 기능들이 올바르게 작동이 되는지 확인 할 수 있습니다.
  3. 기능에 대한 불확실성을 감소 시킬 수 있습니다.
  4. 시스템에 대한 실제 문서를 제공합니다. 이말은 테스트 코드가 실제 문서라고 보시면 됩니다.

🥴  테스트 코드에 대한 이동욱 필자의 경험

  1. 빠른 피드백이 있다.
  2. 자동 검증이 가능하다.
  3. 개발자가 만든 기능을 안전하게 보호한다.

테스트 코드는 꼭 작성을 해주어야하고 이것은 기술이자 습관 입니다.!!

😗  테스트 코드를 도와주는 프레임워크

테스트 코드를 작성하는데 도와주는 프레임워크가 있습니다.

바로 JUnit 이라는 프레임워크인데 우리는 JUnit 버전 5 를 사용하여 테스트를 진행 해 봅시다.