테스트 코드 작성시
471
작성한 질문수 18
회원가입 기능을 구현할 때 컨트롤러에는 다음과 같은 코드가
@PostMapping("/signup")
public void signup(@RequestBody @Valid MemberSignup memberSignup) {
memberService.signup(memberSignup);
}서비스에는 다음과 같은 코드가
@Transactional
public void signup(MemberSignup memberSignup) {
if (validateDuplication(memberSignup)) {
throw new NameDuplicateException();
}
Member member = new Member(memberSignup);
memberRepository.save(member);
}있다고 할 때 컨트롤러 테스트에서는 @Valid로 인한 실패와 회원 가입 성공 정도만 보여주고 중복 검증은 서비스 테스트에서 하면 되나요?
아니면 컨트롤러에서도 모두 테스트하는 것이 좋은 방법인가요?
단위 테스트를 만드는 것이 좋다고 들었는데 테스트 코드가 너무 무거워 지는 것 같아서 질문드립니다.
감사합니다!
답변 1
1
안녕하세요.
질문을 남겨주셔서 감사합니다.
통합 테스트로서 아이디 중복 테스트는 컨트롤러에서도, 서비스에서도 테스트 하시는 게 좋습니다.
현재 강의에서 단위 테스트쪽은 진행하지 않았는데요
컨트롤러 단위 테스트면 service를 모킹해서,
서비스 단위 테스트면 @DataJpaTest를 이용해서 가능할것 같습니다.
감사합니다.
Deprecated 관련 사항들
0
105
2
깃헙 collaboator 초대 관련
0
89
1
강의 듣다가 도커 이미지 생성시 각각도 가능하나 그렇게 사용하는데가 많은지 모르겠다라는 말을 듣고 남김니다
0
158
2
logout 후에 login 페이지 이동은 어디서 시켜주는건가요?
0
233
1
다중 데이터를 삭제 할 때
0
271
2
querydsl Q class 이슈
0
417
2
Windows WSL Vue 설정
2
247
1
Dip, @transactional
0
189
1
[vite] http proxy error: /auth/login
0
1047
2
로그인 하고 나서 GET요청으로 메인페이지 요청
0
234
2
GitHub Collaborator 초대 관련
0
258
2
Window에서 Vue.js 설정
0
322
2
collaboator로 초대받을 수 있을까요??
0
284
2
SecurityMockContext 로부터 유저 정보를 가져오기
0
262
1
섹션9 프론트의 코드를 보고싶습니다,,,
0
423
1
Spring Security - defaultSuccessUrl 질문
0
627
1
강의 화면이 나오지 않습니다. 음성과 자막만 나와요
0
304
1
JPAQueryFactory(em)의 객체 생성자 오류에 대해서 질문이 있습니다ㅜㅜ
0
690
2
ExceptionHandler가 AccessDeniedHandler(Http403Handler)를 먹어버리는 현상
0
1182
2
섹션10 언제 나오나요?
0
485
1
CommentService에서 Repository를 호출하지 않는데도
0
345
1
Editor....를 활용한 패턴에 질문있습니다.
0
496
1
섹션9 vue
0
456
2
Post에 edit 메서드 삼항연산자 질문
0
476
2





