반응형 TEST/JUnit5 [Mockito] @WebMvcTest 401/403 에러 처리하기 @WebMvcTest 401/403 에러 처리하기 API 개발 후 테스트를 하는 도중에 발생한 에러를 처리하는 방법에 대해 알아보겠습니다. 테스트 코드 @WebMvcTest(AuthController.class) class AuthControllerTest { @MockBean private AuthService authService; @MockBean private MailService mailService; @MockBean private TokenProvider tokenProvider; @Autowired private MockMvc mockMvc; @Autowired private ObjectMapper objectMapper; @Test @DisplayName("회원가입 성공") void su.. TEST/JUnit 2023. 12. 20. 단위 테스트 방법 [part 3 : 리포지토리(Repository)] 적합한 테스트 가이드 레이어(layer)별로 사용하기 적합한 방식의 테스트 가이드에 대해 알아보겠습니다. 그 중에 '리포지토리 객체'를 테스트하는 방법을 알아보겠습니다. 리포지토리 객체의 테스트 리포지토리는 개발자가 구현하는 레이어 중에서 가장 데이터베이스와 가깝다 JpaRepository를 상속받아 기본적인 쿼리 메서드를 사용할 수 있다. 📌 리포지토리 객체의 테스트 코드 작성 시 고려할 사항 findById(), save() 같은 기본 메서드에 대한 테스트는 큰 의미가 없다. 리포지토리의 기본 메서드는 테스트 검증을 마치고 제공된 것이기 때문이다. 데이터베이스의 연동 여부는 테스트 시에 고려해볼 사항이다. 데이터베이스를 연동한 테스트는 테스트 데이터를 제거하는 코드까지 작성하는 것이 좋다. 테스트 데.. TEST/JUnit 2023. 11. 8. 단위 테스트 방법 [part 2 : 서비스(Service)] 적합한 테스트 가이드 레이어(layer)별로 사용하기 적합한 방식의 테스트 가이드에 대해 알아보겠습니다. 그 중에 '서비스 객체'를 테스트하는 방법을 알아보겠습니다. 1️⃣ ProductService 메서드 테스트 class ProductServiceTest { private final ProductRepository productRepository = Mockito.mock(ProductRepository.class); private ProductServiceImpl productService; @BeforeEach public void setUpTest() { productService = new ProductServiceImpl(productRepository); } @Test void getPro.. TEST/JUnit 2023. 11. 8. 단위 테스트 방법 [part 1 : 컨트롤러(Controller)] 적합한 테스트 가이드 레이어(layer)별로 사용하기 적합한 방식의 테스트 가이드에 대해 알아보겠습니다. 그 중에 '컨트롤러 객체'를 테스트하는 방법을 알아보겠습니다. 컨트롤러 객체의 테스트 컨트롤러는 클라이언트로부터 요청을 받아 요청에 걸맞는 서비스 컴포넌트로 요청을 전달한다. 그 결과값을 가공해서 클라이언트에게 응답하는 역할을 수행한다. 즉, 애플리케이션을 구성하는 여러 레이어 중에 가장 웹에 가까이에 있는 모듈이라고 볼 수 있다. ProductController 메서드 package com.springboot.test.controller; import com.springboot.test.data.dto.ChangeProductNameDto; import com.springboot.test.data... TEST/JUnit 2023. 11. 8. JUnit 테스트 코드의 설명과 예제 JUnit 테스트 코드 작성 자바 언어에서 사용되는 대표적인 테스트 프레임워크로서 단위 테스트를 위한 도구를 제공하는 'JUnit'에 대해 알아보겠습니다. JUnit JUnit은 자바 언어에서 사용되는 대표적인 테스트 프레임워크이다. 가장 큰 특징은 어노테이션 기반의 테스트 방식을 지원한다는 것이다. 즉, JUnit을 사용하면 몇 개의 어노테이션만으로 간편하게 테스트 코드를 작성할 수 있다. JUnit을 활용하면 단정문(assert)을 통해 테스트 케이스의 기댓값이 정상적으로 도출되었는지 검토할 수 있다 JUnit의 세부 모듈 1️⃣ JUnit Platform JVM에서 테스트를 시작하기 위한 뼈대 역할을 한다. 테스트를 발견하고 테스트 계획을 생성하는 테스트 엔진(TestEngine)의 인터페이스를 가.. TEST/JUnit 2023. 11. 7. 이전 1 다음