• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

java.lang.IllegalStateException: Failed to load ApplicationContext

19.01.18 17:37 작성 조회수 513

0

안녕하세요 백강사님. 강좌 잘 듣고 있습니다.

강좌 끝에서 테스트 폴더를 Run > Test Scripts 를 돌렸더니 아래 파일에서 테스트가 깨집니다.

에러 메시지를 보면 뭔가 Jdbc 설정에서 깨진 것 같은데, 이유를 모르겠습니다. 백강사님의 소스를 보니 위의 @RunWith(SpringRunner.class)

@SpringBootTest 어노테이션을 지워두셨던데, 혹시 이유를 알 수 있을까요? https://gitlab.com/whiteship/natural/blob/master/src/test/java/me/whiteship/natural/NaturalApplicationTests.java

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

spring-rest-api-demo/src/test/java/me/whiteship/springrestapidemo/SpringRestApiDemoApplicationTests.java

package me.whiteship.springrestapidemo;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.springframework.boot.test.context.SpringBootTest;

import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)

@SpringBootTest

public class SpringRestApiDemoApplicationTests {

@Test

public void contextLoads() {

}

}

답변 1

답변을 작성해보세요.

0

깃랩에 있는 코드는 제가 강좌 준비하면서 만든 코드라 완전한 코드가 아니구요. 깃헙 코드를 사용하셔야 합니다. 깃랩 코드에서 삭제한 이유는 해당 코드가 자동 생성된 코드인데 사실상 테스트 코드가 없어서 해당 클래스는 아에 지우셔도 상관없습니다. 깃헙에 올라온 코드도 마찬가지에요. 그것도 완전히 지우셔도 됩니다.

테스트가 깨지는 이유는 말씀하신 대로 JDBC 관련 설정을 못찾아서 그런데요. 아마 강좌중에 테스트 관련 프로퍼티 만들고 설정했던거 기억하시나요? 그쪽 수업 다시 들어보시면 원인을 찾으실 수 있으실꺼에요. 다시 한번 차근 차근 봐보세요. 그래도 모르시겠으면 다시 질문 올려주세요.

인프런이 기존 질문에 댓글이 달리면 저에게 노티가 오지 않아서 찾아보기가 어렵습니다. 새 질문이나 수업에 댓글을 다시면 노티가 오니까 그렇게 해주세요. 감사합니다.