Как отключить Javers для интеграционных тестов? - PullRequest
0 голосов
/ 04 ноября 2018

Я использую Javers 3.11.2 с Spring Boot 1.5.17. Когда я пытаюсь запустить интеграционные тесты для встроенной базы данных, я все еще вижу, что таблицы Javers создаются каждый раз.

Есть ли способ отключить Javers во время этих тестов, чтобы эти таблицы не создавались каждый раз?

Ответы [ 2 ]

0 голосов
/ 10 ноября 2018

Есть простой способ, поставьте:

javers:
  sqlSchemaManagementEnabled: false

в вашем application-test.yml. Смотри https://javers.org/documentation/spring-boot-integration/

0 голосов
/ 04 ноября 2018

Отказ от ответственности: я никогда не использовал Javers.

Как правило, отключение чего-либо в «интеграционных тестах» означает, что вы не хотите загружать некоторые компоненты (в данном случае Javers).

Это, в свою очередь, означает, что вы должны исключить их из списка конфигураций, с которыми работает весенняя загрузка.

Если вы используете модуль автоконфигурации javers, он должен предоставить в своем собственном файле "spring.factories" (можно найти внутри jar) файл для автоконфигурации.

Найдите его java-код и посмотрите, есть ли у него «@Conditional для чего-либо (свойства bean-компонентов и т. Д.)». Если есть, то создайте профиль для интеграционного теста, который настроит bean-компоненты так, как это будет сделано в javers '. т, и бин не будет создан как следствие

Если это не обусловлено чем-то вроде этого, вам придется исключить всю конфигурацию. Обычно это можно сделать аннотацией @SpringBootApplication(exclude=<JaversAutoconfiguration goes here>

Это, однако, отключит его и для производственного использования, что явно не то, что вам нужно. Поэтому для «производственного» профиля вам придется импортировать его как обычную конфигурацию (а не автоконфигурацию), для профиля интеграционного тестирования это вам не понадобится.

...