2015-09-11 3 views
0

У нас есть закрытая регистрация TFS, в которой используется операция MSTest workflow для запуска наших модульных тестов. Недавно мы столкнулись с некоторыми проблемами из-за папки результатов, из-за которой активность MSTest создает слишком много времени, поэтому из-за этого некоторые из наших модульных тестов терпят неудачу. Похоже, он использует patter как <user>_<machine_name> <date> <time>_<platform>_<config>, поэтому мы видим очень длинные имена каталогов, такие как "tfsbuild_machine123 2015-09-10 10_00_00_Any CPU_Debug". Я немного перебрался в рабочий процесс и его параметры, но не смог определить, откуда этот шаблон. Я ценю, если кто-то может указать мне, откуда это происходит, и как я могу изменить его, чтобы мы получили больше места для нашего модульного тестирования.MSTest Workflow Activity создает длинные имена каталогов

+0

Можете ли вы показать мне подробное сообщение об ошибке, которое вы получили? И какова папка с результатами теста, о которой вы говорите? Вы имеете в виду гиперссылку результатов теста на странице сводки сборки TFS? Если да, пожалуйста, проверьте мой ответ ниже. –

+0

наш функциональный блок настроен для генерации случайных данных во время выполнения и выполнения тестов против них. Файлы и папки являются случайными даже именами. Чтобы выяснить, что привело к провалу теста, мы создаем файлы организованным образом. Недавно мы упоминали, что некоторые тесты терпят неудачу на простых вещах, таких как Directory.Move. Когда я проверил логику, внутри всех этих помощников IO существует логика, которая вызывает исключение PathTooLong, если полный путь к файлу превышает 248 символов. Даже если вы используете относительный проход, все же он сначала пытается получить полный путь под капотом, и, следовательно, он терпит неудачу. – tecfield

+0

Затем я упомянул, что огромная часть этого пути берется за это смехотворно длинное имя папки, которое MSTest создает для развертывания тестовых сборок и содержимого с самого начала! Затем я упоминаю, что рабочий процесс указывает корневую тестовую выходную папку, но MSTest создает в ней собственное гигантское имя папки. – tecfield

ответ

0

Я предполагаю, что вы ссылаетесь на тестовую часть на странице Сводка сборки. Как:

enter image description here

Насколько я знаю, что Резюме часть в Сложение странице Сводка на самом деле это тип SummaryFactory, который гонит от IBuildDetailFactory, он не определен в TFS построения шаблона процесса. Класс SummaryFactory содержит некоторые функции, такие как CreateSections и CreateNodes, которые используются для создания узлов на странице «Сводка», например, гиперссылки с форматом <user>_<machine_name> <date> <time>_<platform>_<config>. Однако SummaryFactory.cs является внутренним классом, поэтому вы не можете использовать его в своей собственной программе или не настраивать формат тестовой гиперссылки.

Для вашей проблемы я все еще хочу проверить подробное сообщение об ошибке, чтобы узнать, что с ним не так.

+0

нет! на сервере сборки, когда сборка содержит тесты для запуска, среда выполнения создает папку внутри корневой папки, которую вы передаете в рабочий процесс. Эта папка имеет очень длинное имя, как я упоминал в своем оригинальном посте. Мне интересно, что если этот формат можно изменить или хотя бы направить MSTest, чтобы не создавать свою собственную папку с корневой папкой, указанной пользователем. – tecfield

Смежные вопросы