Подтвердить что ты не робот

TFS 2013 - нет результатов покрытия кода

У меня есть настройка среды TFS 2013, и я пытаюсь получить TFSBuild для сбора результатов покрытия кода после сборки.
Тесты работают нормально, но независимо от того, что я пытаюсь, я получаю сообщение "No Code Coverage Results".

Я прочитал о "службе анализа покрытия кода", но на моих серверах вообще не установлен, и я не могу найти его нигде.

Я прошел процесс сборки, чтобы убедиться, что у меня есть "Автоматизированные тесты → Источник тестирования → Параметры запуска → Тип параметров запуска", установленный на CodeCoverageEnabled, но независимо от того, что еще Я пытаюсь, я не могу получить результаты для публикации в базе данных служб Analysis, поэтому я могу запустить Code Coverage Reports.

Я попробовал файл настроек запуска, но не повезло, поэтому я взял это из уравнения.

Любая помощь будет принята с благодарностью!

4b9b3361

Ответ 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.