2013-11-19 4 views
0

Сегодня я столкнулся с некоторыми расхождениями между Visual Studio 2012 и анализом покрытия кода SONAR.Покрытие кода Visual Studio 2012 против SONAR (точка и галли)

Когда я исполняю анализ покрытия кода Visual Studio 2012 Тест-> Анализ кода Охват-> Все испытания она бросает ниже значения

  • не покрывается 37%
  • Покрытие 63%

Но когда я выполняю этот анализ через SONAR (gallio и dotcover), он выдает значения ниже

  • Unit Test Покрытие 55%

Очень похожий результат я получаю от dotcover в Visual Studio.

  • Код покрытия 53%

Я не добавляя никаких специальных флагов в свойств сонар-бегуна файл. Или установить что-то в dotcover.

+0

Что вы хотите сказать? –

+0

Ну, с одной стороны, покрытие Visual Studio подсчитывает замыкающую скобку модульного теста с «ExpectedExceptionAttribute» как непокрытый. Я ожидаю, что все инструменты для покрытия кода будут делать что-то странное, так что я не стал бы слишком беспокоиться о том, как выстроились цифры. Я предпочитаю охват стиля метода ContinuousTests с расчетами рисков. – Magus

+0

Кирк, мой вопрос: почему Visual Studio Analysis и SONAR отличаются друг от друга? Выполняет ли VS анализ по-разному? Кажется, это так, в соответствии с ответом, который я получил. – JAVH

ответ

1

Покрытие кода - это инструмент, который позволяет находить строки кода, которые ваши тесты не могут выполнить. Это непостоянная вещь, и достижение 100% для нее обычно включает прыжки через многие обручи для небольшого выигрыша. Кроме того, каждый инструмент покрытия кода учитывает разные вещи.

Мой любимый испытательный бегун в настоящий момент - это ContinuousTests, который берет стратегию проверки того, сколько раз метод вызывается тестами и другим кодом, создавая график для определения риска, связанного с изменением кода. Это хороший показатель, который нужно посмотреть при тестировании.

Вы также можете использовать покрытие кода, так как это может помочь вам определить, как ветви кода и проверены ли кромки кромки, и всегда старайтесь, чтобы ваши тесты касались договора класса, а не внутренних.

Итак, в конечном счете, да, вы видите разные результаты покрытия кода из разных инструментов. На самом деле это не о чем беспокоиться.

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