2017-10-09 1 views
0

스프링 부트 테스트에서 p6spy로 작업하려고합니다. 내가 테스트 클래스 내 gradle.build이 (잘 실행) 응용 프로그램 자체에 관해서는이스프링 부트 테스트에로드되지 않은 지원 테스트 종속성

dependencies { 
compile('org.springframework.boot:spring-boot-starter-data-jpa') 
runtime('com.h2database:h2') 

testCompile 'p6spy:p6spy:3.0.0' 
testCompile('org.springframework.boot:spring-boot-starter-test') 
} 

과 같은

@RunWith(SpringRunner.class) 
@SpringBootTest 

로 주석 한 나는 새 데이터 소스를 추가 한 테스트 애플리케이션 - 문맥. 나는 내 테스트를 실행할 때

spring: 
application: 
    name: persistence 
datasource: 
    url: jdbc:p6spy:h2:mem:persistence;DB_CLOSE_ON_EXIT=FALSE 
    username: sa 
    password: 
    driver-class-name: com.p6spy.engine.spy.P6SpyDriver 
jpa: 
database: H2 

는하지만 내 의존성이로드되지 않습니다처럼이 보이는 날이 오류

java.lang.IllegalStateException: Cannot load driver class: com.p6spy.engine.spy.P6SpyDriver

를 얻을. 처음에는 @DataJpaTest 주석을 사용하고 있었지만 이번에는 새로운 테스트 응용 프로그램 컨텍스트도 무시했습니다.

도움을 주시면 감사하겠습니다.

EDIT : IntelliJ를 사용하여 수동으로 p6spy 종속성을 테스트에 추가했습니다. 이제는 수업 경로가 잘못되었다고 확신하지만 Gradle에서 작동하도록 문제를 해결하는 방법을 모르겠습니다.

+0

프로젝트를 https://github.com/p6spy/p6spy-it-spring-boot와 비교하십시오.이 샘플은 예상대로 작동합니다. –

+0

@simas_ch 힌트를 보내 주셔서 감사합니다. 실제로이 도우미를 사용했지만 p6spy로 테스트를 사용하지 않습니다. (또는 아마도 나는 장님입니까?) – sorencito

+0

런타임 대신 testCompile ('com.h2database : h2')을 사용하지 않는 이유는 무엇입니까? – Justas

답변

0

문제점은 IntelliJ 내 버전에 있습니다. 나는 버그 보고서를 제출할 것이다.

누구든지이 문제가 발생하면 필자는 누락 된 종속성을 수동으로 프로젝트 설정에 추가했습니다. 그런 다음 IDE에서도 작동합니다.

관련 문제