Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Анализ влияния на тест (TIA) является частью задачи VSTest , начиная с версии 2 задачи. Эта функция помогает ускорить цикл DevOps, помогая выполнять только соответствующие тесты для сборки. В конечном итоге вы выполняете тесты, которые затронуты входящими изменениями, а не весь набор тестов. Дополнительные сведения о анализе влияния на тест см. в статье "Ускорение тестирования" с помощью анализа влияния тестов (TIA).
Помимо поддержки GitHub и Git в Azure DevOps, TIA также поддерживает TFVC. В этой статье описывается известное ограничение, связанное с TIA, в конвейерах сборки и выпуска на основе TFVC и способ обхода этого ограничения.
Проблема с частично сопоставленными репозиториями TFVC
Способ работы TIA заключается в сборе данных о файлах, которые затрагиваются методом тестирования во время его первого запуска, также называемого базовым запуском. Сборщик, который собирает эти данные, имеет видимость только включенного репозитория на компьютере агента. В конвейерах на основе TFVC у вас есть возможность добавлять частичные репозитории. Например, рассмотрим репозиторий, имеющий следующую структуру.
Теперь в конвейере сборки и выпуска вы увидите плитку "Получить источники" в разделе "Процесс ", как показано в следующем примере.
Выберите "Получить источники", и вы увидите опции на правой панели для частичного сопоставления вашего репозитория.
Если вы заверяете весь репозиторий, как показано в предыдущем примере, TIA продолжает работать нормально, но если вы заверяете частично, как показано в следующем примере, TIA не сможет найти затронутые тесты.
Если репозиторий TFVC частично включен, TIA не сможет найти затронутые тесты, так как сборщик может собирать изменения только для частично заверяемого репозитория в агенте и не имеет видимости всего пути. При изменении кода с сервера он предоставляет весь путь, и попытка сопоставления с сопоставленным путем завершается ошибкой.
Обходной путь
Чтобы обойти эту проблему, можно сопоставить частичный репозиторий с полной структурой кода на сервере, чтобы полный путь к файлам в локальном перечислении соответствовал полному пути сервера. Для этого можно указать локальный путь , соответствующий пути сервера, как показано в следующем примере.
Это обеспечивает соответствие пути сервера пути, собранному сборщиком, и правильное перечисление затронутых тестов.