티스토리 뷰
오늘 테스트 코드를 작성하면서 평소 가지고 있던 의문에 대한 혼자만의 답을 하였다.
코드를 짤때 검증과 실행(?)을 controller, service 둘 중 어디에 둬야 할까라는 고민이 자주 있었다.
예를 들어 회원가입기능이 있으면 이 과정을
아이디가 존재하는지(검증) -> 가입한다(실행)로 나눌 때
컨트롤러에서 검증을 하고 서비스에서 실행을 할지
서비스에서 검증과 실행을 같이 해야 하는지
어떤 선택을 해도 기능은 하겠지만
선택에 따른 타당한 이유는 없었다.
그래서 그때그때 이렇게 해볼까 저렇게 해볼까 하면서
섞어서 넣는 게 다였다.
그런데 오늘 테스트 코트를 짜 보면서
테스트용 객체를 db에 넣고 시작을 해야 하는데
서비스에 넣어두었던 필터링 때문에 테스트 코드를 짜기가 굉장히 귀찮아졌다.
A 서비스의
기능 1은 필터 기능+로직 수행
기능 2는 로직 수행만 있는 등 서비스 빈을 주입받아 기능을 수행할 때
한 번씩 해당 코드를 읽으면서 하는 번거로움이 많았다.
mvc 구조라면은
뷰단에서는 요청을 하고, 요청에 대한 응답을 받고
컨트롤러에서 필터링을 하고
서비스에서는 로직을 수행하고
모델은 게터, 세터의 기능만 수행을 해야
테스트 코드를 짜기가 수월하지 않을까?
반응형
'Java & Kotlin' 카테고리의 다른 글
REST API (0) | 2021.07.22 |
---|---|
java 정렬과 비교 (0) | 2021.07.18 |
postgresql 설정, springBoot (0) | 2021.07.11 |
springBoot error (0) | 2021.07.09 |
SpringBoot 맵핑 (0) | 2021.07.07 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 문제
- jre11
- 백준 제로 자바
- 백엔드
- jvm
- jre
- Spring
- JPA
- JDK8
- boot 일대다
- 백준 제로
- 관계설정
- JDK
- 자사서비스
- 자바
- ㅃ
- 백준
- java8
- 개발자채용
- 프로그래머
- jdk11
- 스타트업
- 스택
- springboot
- boot
- jre8
- 코딩테스트
- 알고리즘
- mappedby
- 다대일
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함