반응형
이전에 스프링을 사용하여 개발을 진행했을 때는 테스트를 거의 하지 않았습니다.
딱히 필요하다고 느끼지 못했습니다.
하지만 많은 팀에서 채택하는 것을 보고
TDD 방법론과 조금은 친해지면서 새롭게 시작할 프로젝트에는 적용해서 개발해보고 싶어졌습니다.
TDD?
먼저 TDD란??
Test Driven Development, 테스트 주도 개발입니다.
말 그대로 테스트 코드를 먼저 작성하고 테스트를 통과하기 위해 개발을 이어가는 방법입니다.
Why TDD?
그렇다면 TDD를 채택하는 이유는 무엇일까요?
TDD의 장점은 다음과 같습니다.
객체 지향적인 코드 개발, 설계 수정시간의 단축, 유지보수(리팩터링)의 용이성, 테스트 문서의 대체 가능
저는 이중에서 객체 지향적인 코드 개발, 유지보수의 용이성, 테스트 문서의 대체 가능
이 세가지 장점을 보고 선택했습니다.
- "객체 지향적인 코드 개발"은 Spring Boot의 특성을 살리기에 선택했습니다.
- "유지보수의 용이성"은 지금 당장의 개발이 아닌 이후에 추가로 진행할 개발을 위한 선택했습니다.
- "테스트 문서의 대체 가능"은 이후 개발에서 다른 팀원이 추가될 경우 테스트 코드를 확인하여 바로 개발을 진행할 수 있어 선택했습니다.
TDD!
그렇다면 Spring Boot에서 TDD를 어떻게 적용할 수 있을까요?
테스트의 종류로는 단위 테스트, 통합 테스트 등이 있습니다.
- 단위 테스트는 하나의 모듈을 테스트하는 것을 말합니다. 일반적으로 메서드 단위를 테스트합니다.
- 통합 테스트는 여러 모듈의 상호작용을 테스트하는 것을 말합니다.
Reference
https://media.fastcampus.co.kr/knowledge/dev/tdd/
http://www.incodom.kr/%ED%85%8C%EC%8A%A4%ED%8A%B8_%EC%A3%BC%EB%8F%84_%EA%B0%9C%EB%B0%9C
https://repo.yona.io/doortts/blog/issue/1
반응형
'WEB > Spring' 카테고리의 다른 글
[Spring Boot] JPA - MySQL (0) | 2023.09.08 |
---|---|
[Spring Boot] TDD - JUnit? (0) | 2023.06.27 |
[Spring] 패키지 구조 (0) | 2023.03.29 |
[Spring Boot] Spring boot EC2에 배포하기 (0) | 2022.12.19 |
[Spring] RestTemplate Response Entity Type (0) | 2022.12.15 |