У нас есть закрытая регистрация 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 создает длинные имена каталогов
ответ
Я предполагаю, что вы ссылаетесь на тестовую часть на странице Сводка сборки. Как:
Насколько я знаю, что Резюме часть в Сложение странице Сводка на самом деле это тип SummaryFactory, который гонит от IBuildDetailFactory, он не определен в TFS построения шаблона процесса. Класс SummaryFactory содержит некоторые функции, такие как CreateSections и CreateNodes, которые используются для создания узлов на странице «Сводка», например, гиперссылки с форматом <user>_<machine_name> <date> <time>_<platform>_<config>
. Однако SummaryFactory.cs является внутренним классом, поэтому вы не можете использовать его в своей собственной программе или не настраивать формат тестовой гиперссылки.
Для вашей проблемы я все еще хочу проверить подробное сообщение об ошибке, чтобы узнать, что с ним не так.
нет! на сервере сборки, когда сборка содержит тесты для запуска, среда выполнения создает папку внутри корневой папки, которую вы передаете в рабочий процесс. Эта папка имеет очень длинное имя, как я упоминал в своем оригинальном посте. Мне интересно, что если этот формат можно изменить или хотя бы направить MSTest, чтобы не создавать свою собственную папку с корневой папкой, указанной пользователем. – tecfield
- 1. Orchard Custom Workflow Activity
- 2. WorkFlow Activity Designer
- 3. Workflow Xaml Custom Activity Versioning
- 4. Workflow 4 Activity Designer combobox
- 5. Длинные имена переменных
- 6. Длинные имена файлов
- 7. CRM 2013 Synchronous Custom Workflow Activity ITracingService
- 8. Более длинные имена файлов с git merge
- 9. (BATCH) Имена каталогов
- 10. исключая имена каталогов - рубин
- 11. Имена каталогов/файлов confusion
- 12. Имена PE-каталогов
- 13. Имена каталогов в пакете
- 14. имена каталогов URL rewirte
- 15. Переименовать имена каталогов рекурсивно
- 16. Исключить определенные имена каталогов
- 17. Массовые имена каталогов переименований
- 18. Рекурсивно присоединить имена каталогов к строке
- 19. Удалить имена каталогов с url
- 20. Нормализация имена каталогов в C#
- 21. Python Sphinx, ссылающийся на длинные имена
- 22. Длинные имена изображений, разбивающие CSS-divs
- 23. Найти длинные (> 255) имена файлов
- 24. Очень длинные имена файлов в vim errorformats
- 25. R boxplot длинные имена из области участка
- 26. Длинные имена файлов в облачном хранилище Google
- 27. Getopt Длинные обработки похожие входные имена
- 28. R data.table длинные имена столбцов с символами
- 29. `dir` рассматривать только длинные имена файлов
- 30. Не можете читать длинные имена файлов в GPG/Maven
Можете ли вы показать мне подробное сообщение об ошибке, которое вы получили? И какова папка с результатами теста, о которой вы говорите? Вы имеете в виду гиперссылку результатов теста на странице сводки сборки TFS? Если да, пожалуйста, проверьте мой ответ ниже. –
наш функциональный блок настроен для генерации случайных данных во время выполнения и выполнения тестов против них. Файлы и папки являются случайными даже именами. Чтобы выяснить, что привело к провалу теста, мы создаем файлы организованным образом. Недавно мы упоминали, что некоторые тесты терпят неудачу на простых вещах, таких как Directory.Move. Когда я проверил логику, внутри всех этих помощников IO существует логика, которая вызывает исключение PathTooLong, если полный путь к файлу превышает 248 символов. Даже если вы используете относительный проход, все же он сначала пытается получить полный путь под капотом, и, следовательно, он терпит неудачу. – tecfield
Затем я упомянул, что огромная часть этого пути берется за это смехотворно длинное имя папки, которое MSTest создает для развертывания тестовых сборок и содержимого с самого начала! Затем я упоминаю, что рабочий процесс указывает корневую тестовую выходную папку, но MSTest создает в ней собственное гигантское имя папки. – tecfield