Почему мой источник данных Oracle имеет ошибку воспроизведения только при модульном тестировании? - PullRequest
0 голосов
/ 20 ноября 2018

Сервер My Spring Boot 1.5.17 (Spring 4.3.20) отлично работает с bootRun или при развертывании.

Однако у меня есть Oracle DataSource, который не может только при модульном тестировании :

java.lang.AssertionError: Сервер отправляет ненулевой контекст воспроизведения но наши replayModes = []

Поиск в Google по данной ошибке не дает точных результатов.

Я могу выполнить юнит-тестирование с другой базой данных Oracle.

Я получаю сообщение об ошибке с полным контекстом тестирования приложения

@RunWith(SpringRunner.class)
@SpringBootTest(
        webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
        classes = { TestingUserConfiguration.class, Application.class }
)

А также только одна конфигурация DataSource и Сервис

@RunWith(SpringRunner.class)
@SpringBootTest(classes = {
        MyDbConfig.class,
        MyService.class
})

Обе oracle.jdbc.pool.OracleDataSource и oracle.jdbc.replay.OracleConnectionPoolDataSourceImpl имеют ошибку. UCP не имеет значения.

OracleConnectionPoolDataSourceImpl имеет другую ошибку:

java.sql.SQLException: неподдерживаемая функция

Попытка обновления с OJDBC 12.2 до 2018.3, без разницы.

Кто-нибудь видел эту ошибку раньше? Любые идеи о том, почему он появляется только в модульных тестах Spring?

Ответы [ 2 ]

0 голосов
/ 03 июня 2019

Вы можете добавить «-da: oracle ...» к своим JAVA_TOOL_OPTIONS, чтобы отключить утверждения оракула.Чтобы обойти это.

Трент

0 голосов
/ 14 мая 2019

После долгих царапин я обнаружил, что делаю это в наборе тестов:

static {
 ClassLoader.getSystemClassLoader().setPackageAssertionStatus("oracle.jdbc.driver", false);  
}

Решено Моя проблема, я уверен, что это ошибка в классе oracle.jdbc.driver.T4CTTIfun

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...