Модульный тест SpringBoot не использует аннотацию @EnableAutoConfiguration из класса приложения.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Модульный тест SpringBoot не использует аннотацию @EnableAutoConfiguration из класса приложения.

Сообщение Anonymous »

Я хочу настроить приложение Spring Boot так, чтобы вообще не использовалась БД.
Поэтому я аннотировал свой класс приложения для исключения классов автоконфигурации JPA:

Код: Выделить всё

@SpringBootApplication
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
public class Application {

public static void main(final String... args) {
run(Application.class, args);
}
}
Это отлично работает, когда служба запускается автономно.

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

Код: Выделить всё

@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class SwaggerJsonExistenceTest {
...
}
Тест завершается неудачно со следующим сообщением об ошибке.


Причина: org.springframework.beans.factory.BeanCreationException:
Ошибка создания bean-компонента с именем 'dataSource': вызов метода init
не выполнен; вложенным исключением является java.lang.IllegalStateException: невозможно
определить встроенную базу данных для тестов. Если вам нужна встроенная база данных
, поместите поддерживаемую базу данных в путь к классам.


Обновление:
В пути к классам нет драйверов БД.

org.springframework.boot:spring-boot-starter-data-jpa используется для тестирования (включается через директиву testCompile в gradle)

Как настроить тест, чтобы он не использовал автоконфигурацию, связанную с БД?

Исправление: я удалил все стартовые зависимости jpa (поскольку БД не требуется), поэтому автоконфигурация источника данных вообще не выполняется.

Подробнее здесь: https://stackoverflow.com/questions/420 ... from-appli
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»