2024/03 2

테스트 코드가 필요한 이유

테스트 코드를 왜 작성해야 할까? 1. 내가 작성한 코드가 잘 돌아가는가? 2. 예상한 결과를 내놓는가? 3. 버그는 없는가? 테스트 코드는 위 3가지 질문에 대한 답변을 내놓는다. 한 예를 들어보자. 테스트 코드를 작성하기 이전에 A는 새로 만든 기능에 대한 테스트를 수동으로 진행하였다. 그리고 또 다른 기능이 추가되면서 이번에는 B가 테스트를 수동으로 진행하였다. 또 다른 기능을 추가로 개발하였는데 이번에는 기존의 코드와 겹치는 부분이 발생하게 되었다. 즉 테스트 영역이 겹치게 된 셈이다. 이 때, 기존 코드가 원래 동작하는대로 동작하는지를 다시 검증해야 하고, 새로운 코드에 대한 테스트도 진행해야 한다. 즉 새로운 코드와, 기존의 기능에 대한 검증을 진행해야 한다. 위와 같은 경우에는 서비스가 커질..

IT, 코딩/Spring 2024.03.30

Service와 ServiceImpl, 반드 필요한가?

Github에서 많은 서버 레포지토리를 보다 보면 Service 인터페이스를 구현한 ServiceImpl 구현 클래스를 볼 수 있다. 하지만 대부분의 경우 하나의 Service와 대응되는 ServiceImpl가 단 하나인, 1:1 대응관계를 가지고 있었다. 이 글은 이와 같이 "Service와 ServiceImpl이 1:1 구조를 가질 때, 서비스 클래스를 구체 클래스로 바로 만드는 것이 낫지 않나?" 라는 의문을 갖고 함께 작성되었다. Service와 ServiceImpl를 분리하는 이유 Service 인터페이스를 만들고 이를 구현한 ServiceImpl 클래스를 만들어 둘을 분리하는 이유를 먼저 알아보자. 1. 인터페이스와 구현 클래스를 분리할 수 있다. - Service 인터페이스는 비즈니스 로직을..

IT, 코딩/Spring 2024.03.19