在Spring Boot测试中未加载Gradle测试依赖项

时间:2017-10-09 19:11:47

标签: java spring spring-boot gradle p6spy

我正在尝试在Spring Boot测试中使用p6spy。我有一个用

注释的测试类
@RunWith(SpringRunner.class)
@SpringBootTest

我的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')
}

至于应用程序本身(运行正常),我将新数据源添加到test-application-context。

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注释,但是这个注释甚至忽略了我的新测试应用程序上下文。

任何帮助表示感谢。

编辑:我使用IntelliJ手动将p6spy依赖项添加到测试中。现在我确定我的类路径错了,但我不知道如何修复它以使其在Gradle中工作。

1 个答案:

答案 0 :(得分:0)

问题出在我的IntelliJ版本中。我将提交错误报告。

如果有人遇到此问题,我会在项目设置中手动添加缺少的依赖项。然后它也适用于IDE。