Каждая Task автоматически тестируется перед слиянием — как узкими модульными тестами, так и более широкими сквозными тестами, проверяющими работающее приложение. Представление Testing показывает тесты проекта независимо от какой-либо отдельной Task.

Тестирование

Тесты в детальном представлении Task

В детальном представлении Task шаг Test показывает результат модульных тестов проекта (сколько пройдено, сколько провалено и вывод по каждому сбою), а шаг E2E показывает результат сквозных сценариев — имитированных действий пользователя в реально работающем приложении. Если Test или E2E завершается сбоем, шагу Fix передаются сведения о сбое, он пытается устранить проблему, и тестирование запускается снова; это может автоматически повторяться несколько раз. Если после допустимого числа попыток тесты по-прежнему не проходят, Task получает статус failed, а сведения о сбое остаются прикреплёнными к ней.

Представление Testing и его вкладки

По умолчанию в представлении Testing три внутренние вкладки: History — Dashboard, History — Modules и Unit Tests. Остальные вкладки — Setup, Dashboard, Verdicts, E2E Plans, Scenarios, Integration Tests, Release Tests и E2E Cockpit — существуют, но скрыты, пока не будут включены в настройке навигации.

Представление Testing
Представление Testing с вкладками истории тестов по умолчанию.

Вкладка Unit Tests

На вкладке Unit Tests находятся кнопка Run unit tests, итоги последнего запуска (пройдено, провалено, пропущено), таблица Run History (дата, пройдено, провалено, всего, длительность) и справа — отдельные тесты выбранного запуска с фильтрами, например Passed и Failed. Нажмите на запуск в Run History, чтобы вывести его тесты; отфильтруйте по Failed, чтобы прочитать ошибку каждого проваленного теста. Запуск, который не завершился, помечается как crashed с указанием причины и кнопкой Ask AI to fix.

Вкладка Unit Tests с историей запусков и проваленными тестами
Вкладка Unit Tests: история запусков и проваленные тесты выбранного запуска.

Вердикты Verify

После тестирования шаг Verify повторно проверяет каждый критерий приёмки Task и записывает один из трёх вердиктов:

  • passed — проверка выполнена и соответствует ожидаемому.
  • failed — проверка выполнена и не соответствует ожидаемому; в выводе указано, что было запущено, что ожидалось и что получено.
  • unverifiable — проверку вообще не удалось выполнить (например, требуется работающий экземпляр, который недоступен). Это никогда не приводит к провалу Task; пункт указывается как ожидающий ручной проверки.

Build & Start/Stop

Можно запустить сборку проекта, а затем запустить или остановить его работающий экземпляр на отдельном выделенном порту — независимо от изолированных экземпляров, которые Pipeline поднимает для E2E-тестирования во время Task.

Текущий статус и вывод терминала

С первого взгляда видно, работает ли экземпляр, собирается или остановлен, а вывод его терминала/консоли можно просматривать в реальном времени — это удобно, чтобы убедиться в успешной сборке или выяснить, почему она не удалась.

Остановка выполняющегося запуска тестов

Длительный набор модульных тестов можно остановить в любой момент прямо из представления Testing, не дожидаясь его завершения. Если сервер AITM перезапускается во время выполнения тестов, запуск безопасно прерывается — при следующем старте он не останется в состоянии "running"; сервер обнаруживает и сбрасывает его.

Общий бюджет CPU/RAM для тестов

Модульные и E2E-тесты используют один общий бюджет CPU и памяти, автоматически подстраивающийся под размер сервера, на котором работает AITM. Тесты выполняются последовательно, поэтому их совокупное потребление ресурсов никогда не перегружает хост — это защищает от сбоев, вызванных одновременным запуском нескольких тестовых нагрузок.

История вердиктов E2E

Каждый сквозной тестовый запуск, записанный для этого проекта, сохраняется на вкладке Verdicts (по умолчанию скрыта) вместе с вердиктом (pass, feature bug, environment error и т. д.) и временной шкалой, по которой можно прокрутить назад и увидеть, как менялось состояние тестов со временем.

Выпадающий список индикатора багов

Выпадающий список индикатора багов в верхней панели показывает не более 10 последних багов, оставаясь быстрым и читаемым даже в проектах с длинной историей багов. В нём всегда присутствует ссылка Open Bug Section — даже когда список недавних элементов пуст, — поэтому список никогда не оказывается тупиком; полный перечень багов всегда в одном щелчке, независимо от количества недавних элементов.

Советы

  • Собственный экземпляр проекта лучше держать остановленным, когда он активно не тестируется, — это освобождает порт для изолированных E2E-экземпляров Pipeline.
  • Перед повторным запуском полного набора тестов стоит проверить историю вердиктов E2E — прошлая ошибка окружения может объяснять сбой, который на самом деле не является багом в коде.