[TIL] 2020.04.17

Lee·2020년 4월 17일
0

TIL

목록 보기
34/51
post-thumbnail

오늘 한 일

  • 카페가서 TDD 관련 자료 찾아보기
  • Junit, AssertJ 차이점 간략히 알아보기
  • "TDD 실천법과 도구" 책 읽어보기

오늘 배운 것

TDD의 필요성

  • 개인적인 생각이지만 시간이 걸리는 작업을 줄여주기 때문에 TDD는 필요하다고 생각한다.

왜 TDD를 쓸까.. 🤔

출처 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 / 이동욱 저

  • 이 책 2장을 보면 스프링 부트에서 테스트 코드를 작성하자 라는 챕터가 뜨어어억 하니 나온다.
  • 테스트 코드를 작성하는 이유에 대해 대략 3~4페이지 정도 나온다.
  • 책에 나온 설명에도 불구하고 코드만 작성해도 문제없이 프로그램은 돌아갈 탠대 왜 굳이 테스트 코드까지 적어가면서 개발을 해야 하는지 궁금했다.

TDD 써볼까?🤔

  • 정말 나에게 테스트 코드를 작성하는 능력이 필요한가?라는 생각이 들어 나 자신에게 하나의 실험을 해봤다.
  • 스프링 부트 프로젝트를 생성한 후 컨트롤러 하나를 만들어준다.

  • localhost:8080/hello 라고 주소창에 요청을 보내면

  • hello라는 String 값이 웹 브라우저 상에 출력된다.

TDD를 적용해보자 🚀

  • 기존에 hello라는 텍스트의 정상출력 유무를 판단하기 위해 새로운 웹브라우저 창에 http://localhost:8080/hello 라는 주소를 입력할 것이다.
  • 만약 url로 바로 접근이 불가능하고, 필수로 입력되어야 하는 값이 존재한다면? 코드를 수정할 때마다 개발자가 한땀한땀 직접 확인해야 한다.
  • 개발자 입장에선 시간이 걸린다.
  • 단순히 테스트 코드를 작성함에 있어 개발자가 한땀한땀 클라이언트로부터 원하는 값이 잘 넘어왔는지의 유무를 확인하는 작업을 줄여줄 수 있다.

  • 위와 같이 테스트 코드를 작성함에 있어, 웹브라우저에서 /hello라는 url 접근하지 않고 hello라는 String 값이 잘 넘어왔는지 확인할 수 가 있다.

느낀점

  • 이런 간단한 실험을 하면서 느낀점은 TDD는 개발자에게 필요한 스킬중에 하나라고 느꼈다.
  • 내 생각을 글로 표현한다는게 너무 어렵다.. 😂
  • 오늘도 글을 쓰다보니 하루가 지났다..

0개의 댓글