Мне нужен совет о том, какой метод лучше подойдет для моего случая.
У меня есть приложение Java с Spring Boot, и сейчас, для тестирования, я использую базу данных localhost PostgreSQL.Настройка довольно проста;У меня просто есть datasource.url / username / password и настройка порта в файле application.properties.
Теперь мне нужно использовать удаленную базу данных PostgreSQL для определенного класса тестов интеграции.Итак, насколько я знаю, я могу сделать это по крайней мере двумя способами:
Я могу настроить в application.properties другую конфигурацию для удаленной базы данных и использовать ее втестовый класс с environment.getProperty()
.
Или я могу создать компонент для использования этих свойств:
@Bean
public DataSource dataSource() {
DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create();
dataSourceBuilder.url(dbUrl);
dataSourceBuilder.username(username);
dataSourceBuilder.password(password);
return dataSourceBuilder.build();
}
И всене так просто, как может показаться.У меня есть класс для конфигурации тестов, ClassA .
У меня есть второй класс с реальными тестами, назовем его ClassB .
Расширения ClassBClass A, и ClassA запускает файл JAR, который является другим Java-приложением, которое предоставляет некоторые остальные API, которые будут протестированы с тестами из ClassB.
Теперь я использую локальную базу данных, но я хочу использоватьудаленный, в будущем.
Мне удалось загрузить файл JAR из Artifactory с зависимостью Maven, и в классе конфигурации я ищу файл JAR, получаю его каталог и используюмассив команд для его запуска: {"java", "-jar", "directory.getCanonicalPath()}
и ProcessStreamer
для его обработки.
После того, как я проверил, работает ли файл JAR, запускаются ли тесты из ClassB, и они выполняют операции CRUD сНедавно открытое приложение вызывает REST-вызовы к API.
Есть предложения по настройке второй удаленной базы данных?
Спасибо!