Как сообщество elixir рекомендует устанавливать интеграционные тесты с chromedriver? - PullRequest
0 голосов
/ 09 июня 2019

Я использую Hound (https://github.com/HashNuke/hound) для интеграционного тестирования приложения Phoenix. У меня работает хром и хром без головы. Чтобы заставить его работать, у меня есть другое окно терминала, работающее chromedriver (установлено через brew). Странно для меня. Есть ли библиотека или тестовая установка, которая будет более "интегрированной" в приложение? Как Elixir это делает?

В мире Ruby есть гем webdrivers (https://github.com/titusfortner/webdrivers).. Насколько я знаю, он загружает указанный драйвер (скажем, chromedriver) в $ HOME. Затем при каждом запуске теста тест использует драйвер загружен в это место для выполнения тестов.

До драгоценного камня webdrivers существовал камень chromedriver-helper. До этого это были фантомы. Эти реализации сделали так, что для выполнения интеграционных тестов требуется 1: загрузка драйвера 2: запуск теста

В Elixir (с Hound) мои тесты работают, сначала запустив chromedriver --verbose в разделенном терминале, а на другом экране я запускаю mix test. Это прекрасно работает, но чувствует себя разобщенным. Это добавляет дополнительные шаги: 1: загрузить драйвер 2: запустить драйвер 3: запустить тест 4: остановить драйвер

Я мог бы написать скрипт вручную для запуска chromedriver в фоновом режиме и остановить его после запуска тестов.

Я новичок в сообществе Elixir и поэтому много исследовал. Мне до сих пор не ясно, есть ли «пройденный путь», по которому я должен идти, а не просто подключать все вручную.

Я пропустил рекомендуемую абстракцию? Это намеренно? Это "просто еще не создано"?

Спасибо

1 Ответ

1 голос
/ 11 июня 2019

Вы проверили валлаби?Смотри https://github.com/keathley/wallaby

...