본문 바로가기
카테고리 없음

Spring Boot Data Source Test

by ryankang 2026. 4. 1.

스프링 부트 테스트 환경에서 H2 데이터베이스로 연결되지 않는 현상을 경험했습니다.

왜 이런 일이 발생했을까요?

현상

src/main/resources/application.yml


spring:

  application:

    name: 2026-springboot-datasource



  datasource:

    hikari:

      jdbc-url: jdbc:postgresql://localhost:5432/postgres

      username: postgres

      password: 5432

      driver-class-name: org.postgresql.Driver

테스트 환경에서는 H2 를 설정 했습니다.

src/test/resources/application-test.yml


spring:

  datasource:

    url: jdbc:h2:mem:testdb

    driverClassName: org.h2.Driver

    username: sa

    password:

그리고 schema.sql 파일을 통해 스키마를 생성하고자 했습니다.

예외가 발생했습니다.

원인

위를 주의 깊게 봤다면 눈치챌 수 있습니다.

스프링은 기본적으로 조금 더 자세한 정보를 우선순위에 둡니다

그래서 spring.datasource. 보다 더 자세한 spring.datasource.hikari. 내용을 덮어쓰게 됩니다.

그래서 테스트 환경에서 실행을 해도 application.yml 의 내용이 적용된 것입니다.

결과

결과는 아주 간단합니다.

기본 프로필과 테스트 프로필 모두 spring.datasource. 으로 하거나,

spring.datasource.hikari. 로 적용 하면 됩니다.

일관적이지 못한 설정으로 발생한 에러 였습니다.