Как я могу загрузить приложение Elixir из другого проекта в тесте?

#elixir

Вопрос:

Я разрабатываю генератор, предназначенный для установки в виде архива, следовательно, он должен быть лишен зависимостей. Но в своих тестах я хотел бы иметь возможность проверить, что определенные запуски генератора ведут себя так, как ожидается, в приложении с определенными зависимостями и конфигурацией.

Что я пробовал:

  1. У меня есть тестовое приложение priv/test_app , с которого я пытаюсь начать Application.start внутри Mix.Project.in_project/4 . Все Mix.Project функции работают, как ожидалось, но Application.start приложение не найдено.
  2. Я могу использовать System.cmd свой генератор для запуска в контексте тестового приложения, но это затрудняет отладку



Мой генератор предназначен для Ecto, который запрашивает Application определенные вещи. Я мог бы заглушить все эти вещи в своих тестах, но это большая настройка тестов, и она не будет надежной для изменений в Ecto.

Комментарии:

1. Я считаю, что приложение umbrella с тестовым приложением, доступным :test только в среде, поможет.