Тест после того, как в DirtiesContext нет таблицы

Родитель Spring Boot - 2.0.5.RELEASE

У меня есть несколько интеграционных тестов по порядку:

  1. Тестовый класс, который использует аннотацию @MockBean для некоторых зависимостей, поэтому у меня есть @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) в классе
  2. Другой тестовый класс, который использует db (скажем, выбор с использованием JpaRepository в h2, который полностью управляется Spring)

Первый тест пройден, но у второго есть исключения: Caused by: org.hibernate.exception.SQLGrammarException: could not prepare statement Caused by: org.h2.jdbc.JdbcSQLException: Table "x" not found; SQL statement:

Кажется, что база данных создана, но DDL не был выполнен.

Как я могу решить эту проблему?

Конечно, я могу добавить во второй тест аннотацию @AutoConfigureTestDatabase, но я считаю неправильным добавлять эту аннотацию в каждый тестовый класс, который использует db после тестов с @DirtiesContext.

база данных должна быть инициализирована успешно. Работали ли ваши тесты, если вы запускали их по одному?

borino 05.10.2018 12:05

да, работает правильно (либо по одному, либо в обратном порядке)

mat.mik 05.10.2018 16:21

В этом случае вы можете легко добавить метод проверки порядка образец. В противном случае потребуется более подробная информация, например, образец проекта на git hub.

borino 08.10.2018 07:23
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
3
142
0

Другие вопросы по теме