TFS 2013 - нет результатов покрытия кода
У меня есть настройка среды TFS 2013
, и я пытаюсь получить TFSBuild
для сбора результатов покрытия кода после сборки.
Тесты работают нормально, но независимо от того, что я пытаюсь, я получаю сообщение "No Code Coverage Results".
Я прочитал о "службе анализа покрытия кода", но на моих серверах вообще не установлен, и я не могу найти его нигде.
Я прошел процесс сборки, чтобы убедиться, что у меня есть "Автоматизированные тесты → Источник тестирования → Параметры запуска → Тип параметров запуска", установленный на CodeCoverageEnabled
, но независимо от того, что еще Я пытаюсь, я не могу получить результаты для публикации в базе данных служб Analysis, поэтому я могу запустить Code Coverage Reports
.
Я попробовал файл настроек запуска, но не повезло, поэтому я взял это из уравнения.
Любая помощь будет принята с благодарностью!
Ответы
Ответ 1
Я только что понял, в чем проблема: мой код Coverage не был рассчитан на сервере buildserver. Я понял это с помощью службы поддержки Microsoft, и это небольшая ошибка пользовательского интерфейса.
Шаги для воспроизведения: создайте новое определение сборки.
- Перейдите на вкладку процесса определения сборки и выберите файл решения для сборки.
- Теперь разверните раздел "Автоматизированные тесты" и разверните "Источник тестирования".
- Разверните "Запустить настройки" и измените "Тип параметров запуска" на "По умолчанию" на "CodeCoverageEnabled".
- Сохраните builddefinition и запустите свою сборку.
- Изучите результаты сборки и обратите внимание, что не подсчитывается покрытие кода.
Чтобы устранить эту проблему, используйте другой ui определения сборки.
- Выберите "Автоматизированные тесты" node.
- Теперь в этой строке справа вы увидите кнопку с "...". Нажмите его, и откроется диалоговое окно.
- Нажмите "Изменить", чтобы отредактировать свой тестовый источник. Вы увидите, что охват кода включен. Если не выбрать его.
- Нажмите "ОК" и "ОК", чтобы закрыть два диалоговых окна.
- Теперь сохраните определение сборки и снова запустите свою сборку.
Теперь покрытие кода рассчитывается!!! Служба поддержки Microsoft сообщила об ошибке команде разработчиков, и она будет исправлена. Я предполагаю следующую версию. Небольшая ошибка, но мне стоило больше двух дней, чтобы найти ошибку!
Ответ 2
У вас есть Premium или конечная визуальная студия, установленная на вашей машине сборки? Любой из них должен вернуть результаты покрытия кода в TFS
Ответ 3
Я думаю, что "другое окно" относится к щелчку правой кнопкой мыши по файлу решения "Local.testsettings" (или другим файлам [].testsettings), выбирая "Открыть" и перемещаясь по различным настройкам. Когда вы установите переключатель "Место проведения теста" на "Запуск тестов с использованием локального компьютера или тестового контроллера", в разделе "Данные и диагностика" в разделе "Кодовое покрытие (Visual Studio 2010) есть параметр".
Ответ 4
Я использую локальный сервер сборки с Visual Studio онлайн с файлом .runsettings, и у меня была точно такая же проблема.
Ни один из обманутых выше способов не помог, поэтому я протестировал сборку script на размещенном контроллере сборки, и он работал нормально, поэтому я решил, что проблема должна быть самим сервером сборки.
I изменил учетную запись службы сборки с "Сетевой службы" на обычную учетную запись пользователя Windows в TFS Configuration Tool, и теперь собирается покрытие кода. Обратите внимание, что этому пользователю потребуется доступ к каталогам сборки TFS.
Ответ 5
Вышеупомянутые обходные пути не работали от меня (VS2015 update5 и TFS2013 Update 3).
В моем случае Visual Studio не была установлена на сервере сборки, что является требованием, которое, по-видимому, возвращает результаты покрытия кода.
Из MSDN
Microsoft Visual Studio требуется установить на сервер сборки для следующих сценариев:
- Чтобы создать любой проект тестирования CPP, вы должны установить Visual Studio Professional или более позднюю версию.
- Для запуска модульных тестов или кодированных тестов пользовательского интерфейса вы должны установить Visual Studio Professional или более позднюю версию.
-
Чтобы использовать адаптеры данных и диагностических данных:
- Code coverage: Visual Studio Premium or later.
- Test impact: Visual Studio Ultimate.
- IntelliTrace: Visual Studio Ultimate.
-
Для создания любых приложений современного стиля на машине сборки: Visual Studio Ultimate или Visual Studio Express для Windows 8 (операционная система на сервере сборки должна быть Windows 8).
- Скомпилировать и запустить тесты для проекта с поддельной сборкой: Visual Studio Ultimate.