我正在尝试在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中工作。答案 0 :(得分:0)
问题出在我的IntelliJ版本中。我将提交错误报告。
如果有人遇到此问题,我会在项目设置中手动添加缺少的依赖项。然后它也适用于IDE。