2017-03-22 2 views
0

다양한 접근법을 시도했지만 지금은 혼란 스럽습니다. 스프링 테스트 어플리케이션이 있는데, 이는 inememory h2 데이터베이스와 통합 테스트를 작성하고 있습니다.H2 inmemory 데이터베이스와의 Spring Boot 통합 테스트

spring.profiles: test 
spring.datasource: 
    url: jdbc:h2:mem:AZ;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE 
    username: sa 
    password: 
    driver-class-name: org.h2.Driver 
    platform: h2 
    # enable H2 web console and set url for web console 
     # http://localhost:8080/console 
    h2: 
     console: 
     enabled: true 
     path: /console 
    schema: schema.sql 
    data: data.sql 

application.yml 내가 테스트의 디버그 모드에서 테스트 여기에서 서버를 시작하여 콘솔을 시작 I 콘솔을 볼 수있어

@Bean 
public ServletRegistrationBean h2servletRegistration() throws SQLException { 
    Server webServer = Server.createWebServer("-web", "-webAllowOthers", "-webPort", "8081"); 
    webServer.start(); 
    ServletRegistrationBean registration = new ServletRegistrationBean(new WebServlet()); 
    registration.addUrlMappings("/console/*"); 
    return registration; 
} 

8081 포트에 있지만 나는 yml 파일에서 popultaed 스키마를 볼 수 없습니다. 도와주세요.

+0

예를 들어 모드를 사용 해보십시오 : MODE = MYSQL url –

+0

DB에로드되는 sql을 볼 수 있습니까? – Pete

+0

@GurinderSPanesar는 행운을 얻지 못했습니다 –

답변

0

이것이 작동하지 않는 이유는 모르겠지만 Java 코드를 통해 데이터 소스에 대한 bean을 작성하여 작업을 수행하고 거기에서 스크립트를로드했습니다.