JUnit Jupiter Тесты, запускающиеся дважды в моем приложении Spring Boot. Как я могу решить это? - PullRequest
0 голосов
/ 11 октября 2019

Spring Boot 2.1.8 Jupiter 5.3.0 Eclipse: Версия: 2019-06 (4.12.0)

У меня есть универсальный класс для всех моих тестов

public class GenericTestBootstrap<E, R extends JpaRepository<E, Integer>> 

  @Autowired
  R repository;

  @Test
  @DisplayName(value = "Database Table is not empty")
  public void testElementsAreAvailable() {
    System.out.println("*************");
    long existingEntries = repository.count();
    System.out.println(existingEntries);
    assertTrue(existingEntries > 0, "No entries found!");
  }

E- Моя сущность R - Мой репозиторий

И мой конкретный класс

@ExtendWith(SpringExtension.class)
@DataJpaTest
public class AnalyseRepositoryIntegrationTest extends GenericTestBootstrap<Analyse  , AnalyseRepository>{


}

Теперь проблема в том, что мои методы тестирования выполняются мгновенно. Это означает, что мой член хранилища имеет значение NULL. Так что все тесты не пройдены.

Через несколько секунд Spring boot напечатает некоторые вещи на консоли (логотип Big Spring Boot и т. Д.), БД заполнится данными. И все тесты начинаются снова, на этот раз все работает хорошо, хранилище не равно нулю.

Но из-за первого раннего запуска JUnit пометил все тесты как неудачные.

Что я делаю неправильно?

...