Настройка интеграционных тестов для приложения Multi Project Play Framework - PullRequest
0 голосов
/ 22 марта 2020

У меня есть приложение 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 по настройке тестов и на самом деле перепробовал много вещей, которые я нашел в Интернете, но мне все еще не повезло с тестированием моих сервисов и контроллеров. Любая помощь будет высоко ценится

...