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

Gradle test dependencies not loaded in Spring Boot test

我正尝试在 Spring 引导测试中使用 p6spy。我有一个测试 class 注释

@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')
}

至于应用程序本身(运行没问题),我将新数据源添加到测试应用程序上下文中。

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 依赖项添加到测试中时成功了。现在我确定我的 class 路径是错误的,但我不知道如何修复它以使其在 Gradle.

中工作

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

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