Ошибка покрытия кода VSTS? - PullRequest
       14

Ошибка покрытия кода VSTS?

3 голосов
/ 24 сентября 2008

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

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

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

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

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

1 Ответ

2 голосов
/ 25 сентября 2008

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...