본문 바로가기

Spring/junit5 테스트4

[스프링부트] 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.
junit 테스트 코드(1/5) - 개념 및 용어 테스트 코드를 제대로 작성해 본 적 없어, 이번 기회에 개념부터 공부를 하며 한 것들을 정리해 보았다. HTML 삽입 미리보기할 수 없는 소스 1. 테스트 코드란 말 그대로 개발자가 개발한 코드에 대해 검증을 하기 위해 작성하는 코드로 자바에서는 junit이라는 테스트 코드 작성을 위한 프레임워크를 사용한다. 2. Unit 테스트(단위 테스트) 코드 기본 원칙 F - fast : 테스트 코드는 빠르게 실행되어야 한다. I - Independent : 독립적으로 실행되어야 한다. R - Repeatable : 반복 가능해야 한다. S - Self Validating : 스스로 테스트 검증 가능해야 한다 T - Timely : 프로덕션 코드 직전에 작성되어야 한다.(TDD) 3. 왜 테스트 코드를 작성하나 .. 2023. 7. 30.