У меня есть веб-приложение на Java, и я хотел бы написать интеграционные тесты для сервисного уровня. Я решил использовать testcontainers , поэтому в тесте я хотел бы вызвать службу, которая будет работать с базой данных в контейнере Docker.
Мой тестовый класс выглядит как пример ниже.
@Testcontainers
class ITPlayerServiceImpl {
@Container
private static final PostgreSQLContainer POSTGRE_SQL_CONTAINER =
new PostgreSQLContainer()
.withDatabaseName("dbName")
.withUsername("dbUserName")
.withPassword("dbPassword");
}
Протестированный сервис.
@Stateless
public class PlayerServiceImpl implements PlayerService {
@PersistenceContext(unitName = "persistence_unit_name")
private EntityManager entityManager;
//Methods
Мне нужно создать EMF, подключенную к БД в контейнере, а затем заполнить EM из этой EMF в тестируемом сервисе.
Спасибо за помощь или подсказки.