Воспроизвести сборку докера с условными представлениями - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь провести интеграционное тестирование приложения Play, являющегося компонентом более крупной системы.Это приложение представляет собой некоторую комбинацию REST и MVC и имеет много зависимостей, поэтому их макет будет чрезвычайно утомительным.Вся система Dockerized.Мне также нужно проверить перенаправления в представлениях - например, если пользователь посещает представление без правильных разрешений, его нужно перенаправить в другое конкретное представление.

С учетом того, что я хотел бы сделать, это:

1) создайте образ, используя docker:publishLocal с флагом, который заменит мои каталоги app/public и app/views заполнителями (представления в некотором структурированном формате, например, JSON).

2) принесетвся система работает с docker-compose.

3) запустите несколько скриптов, которые тестируют мое приложение.

Моя проблема в два раза:

Во-первых, sbt, похоже, игнорируетпуть, который я установил в build.sbt sourceDirectories in (Compile, TwirlKeys.compileTemplates) := Seq(file("/me/some/path/MyProject/test/view")) и по-прежнему компилирует шаблоны в /me/some/path/MyProject/app/view

А во-вторых, как я могу переключить каталог представлений, используя флаг, то есть в псевдокоде добавить в build.sbt что-то вроде

if (myFlag == "integration-test"){
    sourceDirectories in (Compile, TwirlKeys.compileTemplates) := Seq(file("/me/some/path/MyProject/test/view"))
    version += "-test"
}
...