Arl*_*rlo 2 oracle jdbc spring-boot
我的 Spring Boot 1.5.17 (Spring 4.3.20) 服务器在 bootRun 或部署时工作正常。
但是,我的 Oracle 数据源仅在单元测试时失败:
java.lang.AssertionError:服务器正在发送非空重播上下文,但我们的 replayModes=[]
Google 搜索此错误没有确切的结果。
我能够使用不同的 Oracle 数据库进行单元测试。
我在完整的应用程序测试上下文中收到错误
@RunWith(SpringRunner.class)
@SpringBootTest(
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
classes = { TestingUserConfiguration.class, Application.class }
)
Run Code Online (Sandbox Code Playgroud)
以及单个数据源配置和服务
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {
MyDbConfig.class,
MyService.class
})
Run Code Online (Sandbox Code Playgroud)
和oracle.jdbc.pool.OracleDataSource都有oracle.jdbc.replay.OracleConnectionPoolDataSourceImpl错误。UCP 没有区别。
OracleConnectionPoolDataSourceImpl有一个不同的错误:
java.sql.SQLException:不支持的功能
尝试从 OJDBC 12.2 升级到 2018.3,没有区别。
以前有人见过这个错误吗?关于为什么它只出现在 Spring 单元测试中的任何想法?
小智 5
经过一番绞尽脑汁后,我发现在测试套件中这样做:
static {
ClassLoader.getSystemClassLoader().setPackageAssertionStatus("oracle.jdbc.driver", false);
}
Run Code Online (Sandbox Code Playgroud)
解决了我的问题,我确定这是 oracle.jdbc.driver.T4CTTIfun 类中的错误
| 归档时间: |
|
| 查看次数: |
2568 次 |
| 最近记录: |