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 \ extension_dotcover3226256377023598081.data ']
[Шаг 4/4] Импорт данных из' C: \ TeamCity \ buildAgent \ temp \ buildTmp \ extension_dotcover3226256377023598081.data 'с процессором' dotNet br /overage ' > [Шаг 4/4] Отклоненный файл отчета о покрытии: C: \ TeamCity \ buildAgent \ temp \ buildTmp \ охват_dotcover3226256377023598081.data размер: 0. Файл пуст или не существует
[Шаг 4/4] Процесс завершен с код -2146232576
[Шаг 4/4] Ошибка покрытия шага (NUnit)

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

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

Тесты NUnit + конфигурация покрытия

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

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


person domderen    schedule 01.05.2013    source источник
comment
Чтобы уточнить, моя версия TeamCity - TeamCity Enterprise 8.0 EAP (сборка 27147), и да, я видел эту страницу: youtrack.jetbrains.com/issue/TW-25856, но в нем говорится, что статус исправлен.   -  person domderen    schedule 01.05.2013
comment
Не могли бы вы прислать нам файл журнала dotCover (на адрес [email protected] или youtrack.jetbrains.com/ issues / DCVR)? Для этого выполните следующие шаги: - добавьте параметр конфигурации teamcity.agent.dotCover.log со значением% system.teamcity.build.tempDir% / dotCoverLogs - запустите сборку - перейдите к артефактам сборки, выберите Показать скрытые артефакты и найдите .teamcity / .NETCoverage / dotCoverLogs.zip   -  person Daria Dovzhikova    schedule 06.05.2013
comment
Вы уверены, что ваши тесты выполняются?   -  person Martin    schedule 08.05.2013
comment
Я обычно оставляю путь к dotCover Home пустым?   -  person Mark Broadhurst    schedule 21.06.2013
comment
У меня есть немного связанная проблема, когда, когда я пытаюсь использовать домашнюю настройку Path to DotCover, я не могу запустить сборку ВООБЩЕ!   -  person IbrarMumtaz    schedule 22.07.2014


Ответы (4)


Проверить: http://confluence.jetbrains.com/pages/viewpage.action?pageId=49448495

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

На данный момент это решило проблему для меня.

person slavikko    schedule 17.07.2013
comment
Обратите внимание, что это относится к папке двоичной установки TeamCity, если вы не используете Program Files (x86) - person Byron Ross; 19.07.2013
comment
@ByronRoss Как узнать, в какой папке находится TeamCity? У меня только один так называется, но он находится в корне (т.е. c: \ teamcity). И я позволил пользователю SYSTEM делать всевозможные вещи (не нашел ничего, называемого ВСЕ ПАКЕТЫ ПРИЛОЖЕНИЯ, а именно - чтение, запись и прочее. безрезультатно. Что еще можно сделать? - person Konrad Viltersten; 17.06.2014

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

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

В моем случае это решило проблему.

person frizik    schedule 13.07.2013
comment
О какой версии TC идет речь? - person Konrad Viltersten; 04.07.2014

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

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

person Kenny Evitt    schedule 08.01.2014
comment
Какой элемент вы отключили? Тесты? - person Konrad Viltersten; 17.06.2014
comment
@KonradViltersten, я просто отключил покрытие кода, т.е. я выбрал ‹Нет покрытия .NET› в раскрывающемся списке .NET Coverage Tool. - person Kenny Evitt; 17.06.2014

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

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

person Ted Xu    schedule 20.10.2014