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

Поэтому наши сборки TFS 2013 делают все правильно, кроме покрытия кода отчета. Я видел подобные вопросы здесь, например, TFS 2013 - Нет результатов покрытия кода, но мы уже попробовали предложенные исправления без результатов.

ОБНОВЛЕНИЕ 1 - мы предприняли больше шагов, чтобы попытаться решить эту проблему; вот полный список:

  • Гарантированная Visual Studio Ultimate была установлена ​​на сервере сборки
  • Попытался установить для определения сборки "CodeCoverageEnabled" значение true, а также параметр "Покрытие кода включено"
  • Убедитесь, что при сборке используется конфигурация отладки, и что генерируются PDB для проверяемых библиотек DLL.
  • Добавлен файл.runsettings с правильным значением ModulePath, включенным в (проверено в журнале сборки, что путь к модулю интерпретируется правильно; если мы умышленно искажаем его, это приведет к ошибкам)
  • Проверено в файле.runsettings
  • Установите определение сборки на "Custom" и укажите на файл.runsettings

Сам процесс сборки работает нормально. Мы можем получить результаты покрытия кода, когда собираем проект локально в IDE. На сервере сборки тестовые проекты MSTest и NUnit работают нормально, и мы ожидаем, что результаты пройдены / не пройдены, как и ожидалось. Сообщение "Нет результатов покрытия кода" все еще мучает нас.

Обновление 2 - вот что мы видим в журнале запуска:Вывести тестовый запуск журнала сборки

Кто-то предложил собственный калькулятор покрытия кода в /questions/42927187/sboj-sborki-esli-pokryitie-koda-nizhe-poroga-v-tfs2012/42927199#42927199, но было бы преступлением тратить 150 миллиардов долларов на TFS 2013 и VS Ultimate 2013 с MSDN, но до сих пор этого не было. одна основная функция работает.

4 ответа

Добавьте файл настроек запуска в систему контроля версий. Установите тесты на пользовательские и укажите на файл настроек запуска. Дополнительную информацию об использовании файла.runsettings можно найти по адресу msdn: http://msdn.microsoft.com/en-us/library/jj159530.aspx

Я использую локальный сервер сборки с Visual Studio онлайн с файлом.runsettings, и у меня была точно такая же проблема.

Ничто из вышеперечисленного не помогло, поэтому я протестировал скрипт сборки на размещенном контроллере сборки, и он работал нормально, поэтому решил, что проблема должна заключаться в самом сервере сборки.

Я изменил учетную запись службы сборки с "Сетевая служба" на обычную учетную запись пользователя Windows в TFS Configuration Tool, и теперь покрытие кода собрано. Обратите внимание, что этому пользователю потребуется доступ к каталогам сборки TFS.

Я испытывал ту же проблему. Моя проблема была с ModulePath. Примеры MSDN предполагают, что вы можете просто использовать имя целевого двоичного файла. Это не работает для меня. Однако когда я сделал имя регулярным выражением, это сработало. Я также сбрасываю выходные данные сборки в одну папку, чтобы найти pdb и другие справочные файлы. Надеюсь, это поможет.

<ModulePath>.*Administration\.dll.*</ModulePath>

Я нашел этот вопрос, потому что увидел что-то особенное в этой статье. (Найдите параметр "Задержка", который по умолчанию равен 60).

д. Добавьте новый аргумент "Задержка", введите детали, как указано ниже. Имя - Задержка, Направление - В, ArgumentType-Int32, Значение по умолчанию - 60 Этот аргумент необходим для задержки проверки покрытия, чтобы агент сборки выполнил необходимые детали сборки. эта задержка варьируется от системы к системе, в некоторых случаях это может не потребоваться вообще.

http://www.prowareness.com/blog/failing-build-on-insufficient-code-coverageblock-coverage-part-3/

Может быть, попробуйте добавить элемент рабочего процесса "delay" в шаблон, который вы используете.......

Другие вопросы по тегам