Аналитика тестов Elixir
Hex-пакет Tuist загружает результаты тестов вашего проекта на Elixir после каждого запуска, обеспечивая видимость производительности тестов и нестабильных тестов прямо в панели управления Tuist.
- Пройдите Начало работы с Elixir
Отправка отчетов о запусках тестов#
Общая настройка устанавливает интеграцию тестирования. Продолжайте использовать mix test, с теми же аргументами, выводом и кодом выхода:
mix test test/my_app_test.exs:12 --trace
Tuist отправляет отчет о запуске по его завершении; дополнительный алиас для тестов не требуется.
Вы можете получить доступ к аналитике тестов в панели управления Tuist и увидеть, как она меняется со временем:

Что отслеживается#
Пакет собирает результаты ExUnit, включая:
- Статус прохождения/сбоя отдельного теста и его длительность
- Модуль и блок
describe, к которому относится каждый тест - Сообщение и местоположение каждой ошибки
- Обнаружение нестабильных тестов между запусками
- Ветка и коммит, а в непрерывной интеграции — провайдер и запуск
- В непрерывной интеграции — история Git клонированного репозитория
Doctests отправляются так же, как и любые другие тесты. С опцией --cover также загружается покрытие строк кода запуска: см. Покрытие кода Elixir.
Пакет отправляет отчеты через форматтер ExUnit, который добавляется к уже используемым вами. Если вы передаете --formatter в командной строке, Mix заменяет весь список, поэтому запуск не отправляется, и задача предупреждает вас об этом.
История Git#
В непрерывной интеграции пакет также загружает историю коммитов клонированного репозитория: SHA коммитов, их родителей, даты коммитов и ветку, в которой выполнялся запуск и базовая ветка pull request. Содержимое файлов, сообщения коммитов или авторы не загружаются. Это позволяет Tuist определить, какие коммиты попали в вашу основную ветку, например, те, которые проверяла очередь слияния. Пакет читает историю, которая уже есть в клонированном репозитории, а если в нем нет базовой ветки, запрашивает у удаленного репозитория последний коммит (git ls-remote). Вне режима покрытия кода (--cover) история не загружается.
| Переменная | Эффект |
|---|---|
TUIST_GIT_UPLOAD_ENABLED=false |
Не читает и не загружает историю Git. |
TUIST_GIT_UNSHALLOW_ENABLED=false |
Читает только клонированный репозиторий, без обращения к удаленному. |
Устранение неполадок#
Отправка отчетов никогда не меняет результат ваших тестов: если отчет не может быть отправлен, запуск завершается так, как должен был, и ничего не выводится. Чтобы узнать, почему отчет не был отправлен, установите TUIST_DEBUG=1:
TUIST_DEBUG=1 mix test