본문 바로가기
Spring/JUnit & Test

[Test] DataJpaTest에서 MySQL 설정

by 행운의나무 2022. 12. 2.
728x90
반응형

문제

MySQL로 DB를 구성하고, application.yml에 설정까지 한 상태에서 테스트를 돌려보니
@DataJpaTest를 실행하려고 했더니 아래와 같은 'Failed to replace DataSource ~~~' 에러가 발생합니다.

@DataJpaTest
class UserInfoRepositoryTest {


    @Autowired
    private UserInfoRepository userInfoRepository;
    
    @Test
    void 정보가져오기(){
        List<UserInfo> all = userInfoRepository.findAll();

        all.forEach(userInfo -> {
            System.out.println(userInfo.getName());
        });
    }
    
  }

원인

@AutoConfigureTestDatabase

해당 어노테이션은 @DataJpaTest에 내장되어 있으며, 이 어노테이션은 '내장된 메모리 데이터베이스'로 테스트를 진행시켜 줍니다.

반응형

해결

@AutoConfigureTestDatabase의 설정을 변경하여 내장된 메모리 데이터베이스로 변경하지 못하도록 막습니다.

@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@DataJpaTest
class UserInfoRepositoryTest {
  	@Autowired
    private UserInfoRepository userInfoRepository;

    @Test
    void 정보가져오기(){
        List<UserInfo> all = userInfoRepository.findAll();

        all.forEach(userInfo -> {
            System.out.println(userInfo.getName());
        });
    }
}

테스트 성공

쿠팡으로 연결 클릭

 

제주삼다수 2L 무라벨 6펫 12개 18개 24개/펫

COUPANG

www.coupang.com

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음

728x90

 

반응형

'Spring > JUnit & Test' 카테고리의 다른 글

[Mock과 Mocktio] @Mock @MockBean  (0) 2022.12.15
[Mock과 Mocktio] @InjectMocks  (0) 2021.04.11
[Mock과 Mocktio] @Spy @SpyBean  (0) 2021.04.11
[JUnit4 vs JUnit5] @Test(expected=...)  (0) 2021.04.02
[JUnit5] RunWith  (0) 2021.02.28