Study/Spring Boot
SpringBoot(4) 2.4.x application.yaml(yml) 설정
이번에 여러 방식으로 테스트들을 진행해보고 있는데, 특히 H2 DB를 이용한 In-Memory 테스트를 진행하는 중에 기존에 사용하던 profile의 datasource 설정을 그대로 놔두고 test용 profile을 작성하여 실제 db와 테스트용 H2 DB 설정을 분리하는 작업을 진행해봤다. (H2 DB 설정 및 H2를 이용한 테스트는 다음에...) 그러면서 기존에 작성한 application 설정 파일의 구동 방식이 Spring Boot 2.4 버전에 들어서 변경된 것을 알게 되어 기존 profile의 migration도 같이 진행하게 되었다. Migration 1. spring.profile 2.4.x 이전 버전에서는 ---를 구분자로 사용하여 하나의 application 설정 파일에 profile..
SpringBoot(3) MockitoAnnotations.initMocks Deprecated
개발 환경 : JAVA 1.8 / Spring Boot 2.4.1 / Gradle 6.7.1 / MySql IDE : IntelliJ 20.3.3 Dependency : spring-boot-starter-test:2.4.1 or mockito-all:1.10.19 저번에 공부했던 Mockito를 오늘 추가적으로 공부하려고 프로젝트를 켜보니 이렇게 .initMocks 에 취소선이 생기고 @Deprecated 선언이 되어있었다. 이게 뭔일이여.. 하고 찾아보니 Mockito-core 3.4.0 api 이상부터는 .initMocks는 deprecated 되고 대신 .openMocks 라는 메소드를 사용하라고 한다. javadoc Mockito 문서 - MockitoAnnotations 대충 initMocks..
Spring Boot(2) Mockito를 이용한 단위 테스트
개발 환경 : JAVA 1.8 / Spring Boot 2.4.1 / Gradle 6.7.1 / MySql IDE : IntelliJ 20.3.3 Dependency : spring-boot-starter-test:2.4.1 or mockito-all:1.10.19 저번에 이어 이번엔 Mockito라는 SpringBoot Test에 자주 사용되는 라이브러리를 가지고 단위 테스트를 공부하고, 공부하며 알게된 것들을 정리하고 저번처럼 예시를 가지고 실습도 해보려한다. 1. Mockito란? ( aka. Test Double ) Mockito 란 Mock을 지원하는 프레임워크로, 보통 Spring Boot Test에서 사용하는 JUnit 위에서 동작하며 Mock객체를 만들고 관리하고 검증할 수 있는 방법을 제..
Spring Boot (1) MybatisTest를 통한 Mapper 단위 테스트
개발 환경 : JAVA 1.8 / Spring Boot 2.4.1 / Gradle 6.7.1 / MySql IDE : IntelliJ 20.3.3 Dependency : mybatis-spring-boot-starter-test 2.1.3 * 해당 포스팅은 공식문서를 참조하여 작성했습니다. mybatis Test 공식문서 링크 1. 필요한 의존 추가 1.1 Mybatis Test 추가 mybatis-test // Gradle의 경우 dependencies { testCompile("org.mybatis.spring.boot:mybatis-spring-boot-starter-test:2.1.3") } // Maven의 경우 org.mybatis.spring.boot mybatis-spring-boot-st..