[Spring] test code에 대한 회고
·
Server/Spring&Spring Boot
거창한 회고는 아니다. 그냥 오랜만에 혼자 천천히 진행하고 있는, 학원의 종합 프로젝트를 진행하면서 무기한 보류 중인, 개인프로젝트의 코드를 다시 꺼내봤다. 현재 계정부분의 로그인, 회원가입만 구현되어 있는 작고 소중한 프로젝트이며, 여기서 구현 완료된 계정 부분의 컨트롤러 테스트 코드를 작성해 보았다. 테스트 코드 작성 전 나의 JOIN API public class MemberRestController { @PostMapping("/join") public Response join(@RequestBody @Valid final MemberJoinRequest dto) { MemberDto member = memberService.join(dto); return Response.success( Memb..
[04] Post Test 코드 작성 - 2 (Service Test)
·
프로젝트/Archive
이전글 [04] Post Test 코드 작성 - 1 (Controller Test) 이전글 [04] User Test 코드 작성 이전글 [03] 게시된 포스트 삭제 이전글 [03] 게시된 포스트 수정 이전글 [03] 게시된 모든 포스트 목록 보기 이전글 [03] 포스트 등록 만들기 체크 사항 로그인이 되어 chordplaylist.tistory.com 목표 1. controller / 2. service로 나눠서 테스트를 진행해야 함. 1. 성공, 2. 실패 테스트 케이스를 모두 통과하는 실제 코드 작성. Exception 처리는 enum Error코드에 작성 후 호출 해서 사용 실패의 경우 enum값의 errorCode로 처리하기 when(어떤 상황일 때)를 각각 설계해 보고, Test case에 따라..
[04] Post Test 코드 작성 - 1 (Controller Test)
·
프로젝트/Archive
이전글 [04] User Test 코드 작성 이전글 [03] 게시된 포스트 삭제 이전글 [03] 게시된 포스트 수정 이전글 [03] 게시된 모든 포스트 목록 보기 이전글 [03] 포스트 등록 만들기 체크 사항 로그인이 되어있어야 하며, 토큰으로 인증을 chordplaylist.tistory.com 목표 1. controller / 2. service로 나눠서 테스트를 진행해야 함. 1. 성공, 2. 실패 테스트 케이스를 모두 통과하는 실제 코드 작성. Exception 처리는 enum Error코드에 작성 후 호출 해서 사용 실패의 경우 enum값의 errorCode로 처리하기 when(어떤 상황일 때)를 각각 설계해 보고, Test case에 따라 예상되는 결괏값을 작성해 주기 Controller, S..
[테스트 코드] Controller Test, MockMVC
·
Server/Spring&Spring Boot
과정 수업 시간 중, Controller Test를 진행했습니다. Repository 테스트와는 달리 새로운 개념, 메서드 등이 대거 등장하면서 모르는 부분들이 많아 정리를 하였습니다. 단위 테스트 단위 테스트는 프로젝트에 필요한 모든 기능에 대한 테스트를 각각 진행하는 것을 의미 일반적으로 스프링부트에서는 org.springframework.boot:spring-boot-starter-test 디펜던시만으로 의존성을 모두 가질 수 있다. F.I.R.S.T 원칙 Fast: 테스트 코드의 실행은 빠르게 진행되어야함 Independent : 독립적인 테스트가 가능해야함 Repeatable : 테스트는 매번 같은 결과를 만들어야 함 Self-Validating : 테스트는 그 자체로 실행하여 결과를 확인할 수..
[토비의 스프링] 제어의 역전 - 오브젝트 팩토리
·
Server/Spring&Spring Boot
IoC 제어의 역전(Inversion of Control) 오브젝트 팩토리 UserDaoTest는 UserDao의 기능이 잘 동작하는지를 테스트하려고 만든 것인데, 다른 책임까지 떠맡고 있으므로 문제가 있다. 이걸 분리하는 작업을 진행한다. 팩토리 객체의 생성 방법을 결정하고, 만들어진 오브젝트를 돌려준다. 이런 일을 하는 오브젝트를 팩토리(factory)라고 부른다. 단지 오브젝트를 생성하는 쪽과 생성된 오브젝트를 사용하는 쪽의 역할과 책임을 깔끔하게 분리하는 목적으로 사용. public class DaoFactory { public UserDao userDao(){ // 팩토리의 메소드는 UserDao 타입의 오브젝트를 어떻게 만들고, 어떻게 준비시킬지 결정. ConnectionMaker connec..
코드플리
'테스트코드' 태그의 글 목록