我正在尝试在 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 中工作。