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

DotCover в TeamCity 8 не работает

Я пытаюсь запустить dotCover с моими тестами NUnit в TeamCity 8 как шаг сборки. Но не знаю, что я пытаюсь, я всегда получаю ту же ошибку в файле журнала:

Шаг 4/4: Охват (NUnit) (1 с)
[Шаг 4/4] Запуск: C:\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe #TeamCityImplicit
[Шаг 4/4] в каталоге: C:\TeamCity\buildAgent\work\6aee0f0d2626793d
[Шаг 4/4] ## teamcity [importData type = 'dotNetCoverage' tool = 'dotcover' file = 'C:\TeamCity\buildAgent\temp\buildTmp\coverage_dotcover3226256377023598081.data']
[Шаг 4/4] Импорт данных из "C:\TeamCity\buildAgent\temp\buildTmp\coverage_dotcover3226256377023598081.data" с процессором "dotNetCoverage"
[Шаг 4/4] Отклоненный файл отчета о покрытии: C:\TeamCity\buildAgent\temp\buildTmp\coverage_dotcover3226256377023598081.data size: 0. Файл пуст или не существует
[Шаг 4/4] Процесс завершен с кодом -2146232576
[Шаг 4/4] Степень охвата (NUnit) не удалась

Я попытался использовать как включенное в TeamCity dotCover, так и отдельно установленное, но оба сбой с той же ошибкой.

Моя конфигурация:

NUnit tests + coverage configuration

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

Любая помощь здесь будет высоко оценена.

4b9b3361

Ответ 1

Отъезд: http://confluence.jetbrains.com/pages/viewpage.action?pageId=49448495

В случае внутреннего TeamCity DotCover вы должны добавить права доступа "ВСЕ ПРИЛОЖЕНИЯ" в папку установки TeamCity. Если вы используете внешний DotCover, добавьте туда права.

На данный момент это исправлено для меня.

Ответ 2

Вероятно, это связано с тем, что вы запускаете это на агенте сборки без .NET 3.5 (но с 4.0). Это легко проверить, потому что вы получите исключение только после запуска dotCover.exe этого агента. Установите .NET 3.5 (используя диспетчер сервера в случае новейшей Windows).

Следующее, что есть ошибка с dotCover в TeamCity 8. Вам нужно использовать пробную установку dotCover, пока они не исправят ее (и поместите путь к установленному dotCover в конфигурацию шага сборки).

Он решил проблему в моем случае.

Ответ 3

Интересно, что, по крайней мере, для меня это работало для меня, когда я отключил покрытие кода (т.е. не отобрал элемент в раскрывающемся списке .NET Coverage) и запустил сборку. Когда я снова включил покрытие кода, он работал (без каких-либо изменений в чем-либо в TeamCity или на сервере сборки). Weird!

В настоящее время я запускаю TeamCity версии 8.0.4 (сборка 27616).

Ответ 4

Это похоже на мою проблему, когда NUnit не запускается, когда функция dotCover включена.

Я решил это, установив .NET Runtime: Платформа: как x86 в раскрывающемся меню конфигурации, и я думаю, что ошибка связана с тем, что город команды не смог выяснить, правильная платформа.