Ошибка обложки кода VSTS?


3

Кто-нибудь опытный this VSTS Code Coverage "bug? "Есть ли у вас какие-либо предложения?

Я делаю анализ покрытия кода с Visual Studio, который, как правило, простая задача теперь с инструментами, которые включены. Тем не менее, у меня есть вопрос, который я могу Допустим, у меня есть сборки A, B, C и D и пометили их все для анализа покрытия. Я запускаю тесты и просматриваю результаты и нахожу отчет, содержащий A, B и C, но не D. Я исследую и обнаруживаю, что никакие тесты на самом деле не выполняют какой-либо код в D (скажем, это передний конец asp.net, и я пока не использую тестирование UI). Поскольку нет тестов для D, вызывающих D, отсутствующих в сообщают, что общий процент покрытия кода и «блоки, не покрытые», неверны.

Кто-нибудь знает, как я могу сделать одно из следующих действий?

  • Рассчитать общее количество блоков в D, чтобы я мог вручную настроить отчет о покрытии, чтобы быть правильным?
  • Получите отчет о покрытии, чтобы автоматически показывать количество блоков, не охваченных для сборок, которые предназначены для покрытия, но не тестируются вообще?

Хотя я хочу улучшить охват тестирования, я анализирую отчеты о покрытиях, сохраненные в исторические моменты времени в базе кода. Таким образом, я не хочу создавать тест, который просто выполняет по крайней мере 1 блок кода в каждой сборке и перерасчет тестового покрытия путем запуска тестов. Это было бы довольно трудоемким занятием для того, что кажется простой проблемой.

2

Я столкнулся с этим однажды, это очень раздражает. В моем случае было нераскрыто несколько DLL, поэтому я закончил оценку блоков/kb для нашей базы кода, используя информацию о закрытых dlls, деленную на их размер. Затем, конечно, чтобы получить количество блоков для скрытых DLL, вы просто умножаете средний размер на dll. Это не самый точный метод, но он дает вам быстрый ориентир, и вы можете определить свою ошибку, вычислив ваши известные DLL и сравнив их с фактическими значениями. Это полезно, если у вас есть большое количество сборок, которые рассчитываются.

Конечно, вы могли бы просто подсчитать количество LOC (игнорируя комментарии) и цифру на одном LOC, примерно равном блоку. Если я правильно помню, что это довольно точно, и поэтому вы должны стать еще ближе.

Единственный способ, с помощью которого я могу сообщить отчет о непокрытых сборках, - это фактически написать тест, который загружает сборку (тест даже не нужно ничего делать).

  0

Спасибо, я боялся, что не было истинного исправления, как вы предполагали, но сорта ожидали, что это так. Я надеюсь, что это изменится в VS 10. Если я соберу сборку для покрытия, я ожидаю, что она появится в отчете о покрытии. Сейчас я не могу определить покрытие моей функциональной кодовой базы. 25 сен. 082008-09-25 05:29:48

  0

Я только что поймал этот сегодня утром, я действительно надеюсь, что они исправит это в VS 2010! Достаточно ввести в заблуждение, что у вас есть 100% -ый охват кода, когда некоторые сборки не были охвачены вообще! 28 янв. 102010-01-28 11:30:38