У меня есть приложение Play, в котором есть несколько проектов (service, service-impl, entity и т. Д. c), каждый проект управляется maven pom. Он также имеет проект шлюза службы, но управляется sbt, он управляет запросами и ответами. Структура проекта выглядит следующим образом:
entities/
src/
pom.xml
service/
src/
pom.xml
service-impl/
src/
pom.xml
controller/
src/
pom.xml
service-gateway/
app/
build.sbt
Я хотел бы настроить интеграционные тесты для тестирования моих служб и контроллеров. Проблема в том, что я не могу внедрить EntityManager, чтобы разрешить доступ к хранилищу, а также мои пользовательские службы не внедряются. Вот мой тестовый код
public class DefaultDriverServiceTest {
@Inject
DriverService driverService;
@Inject
JPAApi jPAApi;
@Test
public void find() throws Exception {
JpaDriver jpaDriver = new JpaDriver();
jpaDriver.setDateCreated(new Date());
jpaDriver.setDriverId(UUID.randomUUID().toString());
jpaDriver.setUsername("username");
jpaDriver.setPassword("password");
jpaDriver.setOnlineStatus("online");
jPAApi.em().persist(jpaDriver);
JpaDriver driver = driverService.find(jpaDriver.getDriverId());
assertEquals(jpaDriver.getDriverId(), "4");
}
}
Я много читал на сайте Play по настройке тестов и на самом деле перепробовал много вещей, которые я нашел в Интернете, но мне все еще не повезло с тестированием моих сервисов и контроллеров. Любая помощь будет высоко ценится