0

我正在尝试在 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')
}

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

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 中工作。

4

1 回答 1

0

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

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

于 2017-10-10T18:44:15.237 回答