Модульный тест 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);
}
}
Это отлично работает, когда служба запускается автономно.

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

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

@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)< /p>

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

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

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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