Как отправить результаты теста в другое место на elixir

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


person Yoni S    schedule 07.07.2020    source источник


Ответы (2)


Чтобы записать результаты mix test в файл, вы можете:

mix test > results.txt

Чтобы разместить их в Slack, вы можете использовать их веб-API, который можно найти здесь: https://api.slack.com/web

person Simone    schedule 07.07.2020
comment
Ваше предложение - это локальное решение, я хочу что-то, что может делать это автоматически и давать мне контроль над массажем. В моем коде есть соединение с API-интерфейсом Slack, но я не знаю, как получить журналы и отправить их туда. - person Yoni S; 07.07.2020
comment
Вы можете прочитать файл и отправить содержимое с помощью curl. results=cat results.txt curl -X POST -H "Content-Type: text/plain" --data $results http://api.slack.com - person Danstan; 08.07.2020
comment
Нет возможности как-то настроить в приложении? - person Yoni S; 08.07.2020

Я нашел ответ на свой вопрос в https://stackoverflow.com/a/41350442/11678286. Чтобы настроить вашу собственную конфигурацию для результатов ExUnit, мне нужно реализовать свой собственный форматировщик (см. https://github.com/elixir-lang/elixir/blob/master/lib/ex_unit/lib/ex_unit/cli_formatter.ex для примера; это средство форматирования по умолчанию ) и настройте ExUnit для его использования:

ExUnit.start(formatters: [YourFormatterModule])

Чтобы отправить результат в другие места (например, в слабину), мне просто нужно скопировать средство форматирования по умолчанию и добавить туда функцию, которая также отправляет его в salck.

person Yoni S    schedule 12.07.2020