본문 바로가기

Spring13

[Spring] CustomReponseEntity HTML 삽입 미리보기할 수 없는 소스 1. CustomResponseEntity이란 API서버를 만들 때 json형태의 어떠한 값들을 리턴한다. 이때 우리는 여러가지의 객체들을 json으로 변환을 하고 추가로 statusCode, 메시지들을 클라이언트에게 전달한다. 이 값들의 어느 정도 공통적인 형태로 규격화 시키기 위하여 만든 것을 CustomReponseEntity라고 명칭하고 있으며, 해당 명칭은 사용자마다 다르고 그 공통적인 형태를 만드는 것도 사람마다 가지각색이라 정답이 없는 거 같다. 2. 다양한 형태의 API 리턴 값 API서버를 만들다보면 기본적으로 목록,단일 객체,등록,수정,삭제 등을 구현하게 된다. 그것들에 대한 리턴 값은 어떻게 되는지 확인 해보자. 2-1. 목록 조회 시 리턴 값 .. 2023. 8. 9.
[스프링부트] junit 테스트 코드(5/5) - 예외 테스트 HTML 삽입 미리보기할 수 없는 소스 1. 예외 테스트란 실제 코드를 작성할 때 개발자는 예외처리를 하게 된다. 그에 따라 테스트코드를 작성할 때 예외 처리가 개발자가 의도한대로 동작하는지에 대해서도 테스트 코드를 통한 검증이 필요하다. 2. 예외 테스트 작성 방법 Service코드 /** * 게시판 생성 * @param boardCreateDto */ public Board createBoard(BoardCreateDto boardCreateDto) { // memberNo를 통해 회원 엔티티 조회 => 조회 결과가 없다면 예외 Member findMember = memberRepository.findById(boardCreateDto.getMemberNo()).orElseThrow(() -> new.. 2023. 8. 8.
junit 테스트 코드(4/5) - 통합테스트 HTML 삽입 미리보기할 수 없는 소스 1. 통합 테스트 역할 Contoller 계층 - Service 계층 - Repository 계층을 한번에 테스트를 진행한다. 간단히 생각하면 PostMan을 통해 하나의 API를 호출하고 성공 실패를 확인하는 것을 하는것이다. 정리하자면 다음과 같다. HTTP 요청과 응답에 대한 동작 검증 요청 매핑 검증 : 매개변수나 경로 변수가 올바른지 응답 데이터 검증 요청에 대한 전체적인 동작 검증 HTTP 요청,응답에 대한 것은 Controller 계층에서 따로 해도 되지만, 현재는 코드가 간단하므로 통합 테스트에서 진행. 2. 통합 테스트 진행 방법 단위 테스트의 경우 Mock 객체를 사용하거나 @DataJpaTest 를 사용하여 계층별로 테스트를 진행하였지만 통합 테.. 2023. 8. 1.
junit 테스트 코드(3/5) - 단위 테스트(RepositoryLayer) HTML 삽입 미리보기할 수 없는 소스 1. Repository 계층의 단위 테스트 역할 Repository 계층의 단위 테스트의 역할은 매우 간단하다. Service 계층의 테스트 처럼 Mock 객체를 사용할 필요 없이 Repository를 의존 주입 받아 호출 하고 예상한 결과가 도출 되는지만 확인하면 끝이다. 2. Repository 단위 테스트의 의존 주입 Repository 테스트에서는 JpaRepository를 상속받아 그 안의 메서드를 사용하기 때문에 어찌 되었든 의존주입을 받아야만 한다. 하지만 앞서 설명했듯 단위 테스트에서는 Spring 컨테이너를 사용하면 안된다. 그렇기 때문에 다른 방법을 통해 Repository 객체를 의존 주입 받아 그 안의 함수를 호출해야한다. 위의 문제를 해결하.. 2023. 7. 31.