2010-08-12 2 views
3

Я строю VS2010 решения на агенте сборки TFS2008 с установленным VS2010 Ultimate; код компилируется нормально, а тесты все работают нормально, но когда дело доходит до покрытия кода, ничего не сообщается. Я проверил, что в файле .testsettings включен Code Coverage, и что я выбрал некоторые сборки для инструмента, и если я буду запускать тесты локально на своем компьютере разработчика, охват кода анализируется и сообщается успешно.Недостаток кода при создании приложений .NET 4 в Team Build 2008

Однако, когда построено на сервере сборки, покрытие кода не сообщается. Я вижу файл data.coverage, расположенный в папке TestResults \ guid \ In \ MachineName сборки, поэтому это явно что-то сделано, но журналы сборки не содержат упоминаний о том, что делать с охватом кода, и никаких предупреждений/ошибок.

Update: проверка на самом сервере TFS, журнал приложений содержит следующую ошибку:

Анализ Service Code Coverage не может анализировать данные покрытия кода для сборки Daily Build> 20100812,2 (Любой процессор/ОТЛАЖИВАТЬ). Это часто вызвано публикацией различных версий одного и того же двоичного файла для конкретной сборки. Обработка данных покрытия кода из запуска svcTFSService @ W2411193 2010-08-12 12: 52: 34_Any CPU_Debug вызвало следующее исключение: Ошибка при создании информации о покрытии: Ошибка загрузки файла символа. Символы и двоичные файлы должны быть в той же папке, что и файл покрытия или путь к символу: D: \ Source \ CommonPlatform \ Common Platform Development Daily Build \ Binaries \ Debug \ Core.dll.

Однако, когда я смотрю на агента сборки в указанной папке, как сборка, так и ее файл символов отладки находятся в ожидаемом месте.

Update 2: По прихоти, я попытался открыть файл data.coverage, что я уже упоминал выше, в VS 2010 на агента построения, и я получаю следующее сообщение об ошибке:

Покрытие кода Анализ двигателя кинул exception (s): Файл изображения «D: \ Source \ CommonPlatform \ Common Platform Development Daily Build \ Binaries \ Debug \ Core.dll» не найден.

Однако я могу явно видеть файл, находящийся в файловой системе, а также его PDB.

ответ

0

Проверьте, не совпадают ли временные метки файла как с символьным файлом, так и с сборкой. Они не должны быть отключены более чем на одну секунду (или максимум две). Если это так, возможно, вы строите Core.dll более чем в одном месте, и только один создает файл символов.

Это может быть длинный выстрел, но, вероятно, это хорошее место для начала.

+0

Временные метки соответствуют второму :-( –

+0

hmmm. Я думаю, это был длинный выстрел. Извините. – Robaticus

 Смежные вопросы

  • Нет связанных вопросов^_^