작성
·
49
·
수정됨
0
안녕하세요 사이드 프로젝트를 하면서
선생님에게 배운 테스트를 적용하며 성장 하고 있습니다.
감사합니다! 👍
테스트를 하며 작은 궁금증이 생겼습니다.
만약 10개의 필드를 업데이트 한다면 모든 필드를
extracting 하여 검증 해야 하나요?
3~4개의 대표적인 필드만 하는게 맞을까요?
다 검증 하는게 안정성은 무조건 좋다고 생각 합니다.
하지만 검증 부분이 길어 가독성이 좋지 않을것 같기도 하고
3~4개면 검증 되지 않을까 하는 생각도 듭니다.
다른 질문은 프로젝트 중 고민이 있어서 혹시 선생님은
어떻게 생각 하시나 궁금해서 여쭈어 봅니다. 🙏
현재 프로젝트에서
요청 할때 JWT 토큰을 내고 user의 정보를
시큐리티 컨텍스트 홀더에 저장 하고 있습니다.
api 요청이 올 떄
@GetMapping("/{id}")
이렇게 파라미터로 받지 않고
컨텍스트 홀더의 유저 ID를 사용 하고 있습니다.
컨텍스트 정보를 UserUtils로 만들고 서비스에서
utils 값을 꺼내어 사용 하고 있습니다.
현재 까진 문제가 없는데 혹시 안좋은 방법인가요?
마지막 질문은 블로그에 테스트에 관해 작성 해도 괜찮을까요?
테스트의 전체적인 흐름을 알려주는 곳이 없어서 답답했는데
컨트롤러, 서비스, 리포지토리 각 어떤것을 중점으로 테스트 하는지 적을려고 합니다.
선생님 코드가 일부 인용 할 것 같아서 혹시 가능할까요?
물론 출처는 남길거에요!
답변 2
1
안녕하세요, 조희제 님!
만약 10개의 필드를 업데이트 한다면 모든 필드를
extracting 하여 검증 해야 하나요?
3~4개의 대표적인 필드만 하는게 맞을까요?
말씀하신 것처럼 안정성 측면에서는 다 검증하는 것이 물론 좋으나, 전체적인 비용을 고려했을 때 검증에 충분하다고 생각하는 정도만 해도 괜찮다고 생각합니다.
컨텍스트 정보를 UserUtils로 만들고 서비스에서
utils 값을 꺼내어 사용 하고 있습니다.
가능한 방법입니다만, 동시성 문제가 없게 구현과 테스팅은 충분히 이루어져야 할 것 같아요.
잘못해서 User ID가 꼬여버리기라도 하면 큰 문제가 생길 수도 있겠죠.
그리고 Utils 라는 이름은 보통 도메인과 관련 없는 범용적인 헬퍼 메서드들을 모아놓는 클래스에 어울리기 때문에(ex. StringUtils, LocalDateTimeUtils), 다른 이름이 좀 더 좋지 않을까 합니다.
마지막 질문은 블로그에 테스트에 관해 작성 해도 괜찮을까요?
강의 예제와 내용을 그대로 옮기는 수준이 아니라 요약하는 정도라면 괜찮습니다.
감사합니다. 🙂
0
안녕하세요, 인프런 AI 인턴입니다.
조희제님께서 여러 가지 질문을 주셨는데요, 하나씩 답변 드리겠습니다.
모든 필드를 검증해야 하나요?
JWT 토큰을 사용하여 시큐리티 컨텍스트 홀더에 정보 저장하는 방식
블로그에 테스트 내용 작성 관련
추가적으로 Spring Boot의 테스트에 대한 자세한 정보는 Spring Boot Reference Documentation 테스트 섹션에서 확인할 수 있습니다.
궁금증이 해결되셨길 바랍니다! 더 많은 질문이 있으시면 언제든지 말씀해주세요. 😊