Ветка покрытия для выражений в OpenCover - PullRequest
4 голосов
/ 07 сентября 2011

Работает ли покрытие филиала на следующем утверждении?

Я ожидал красный индикатор, потому что первое выражение имеет только тесты, где оно ложно и не истинно.

tax.Voided = P_tax.Amount == 1012312870000.42M || P_tax.Amount < 0.00M;

Первое выражение всегда ложно, а второе иногда верно: ReportGenerator snapshot

Ответы [ 2 ]

13 голосов
/ 08 сентября 2011

Не путайте отчетность ReportGenerator с выводом OpenCover XML; хотя до тех пор, пока OpenCover не начнет работать над своими собственными визуальными отчетами, ReportGenerator в настоящее время является лучшим из тех, что вы найдете на данный момент.

Ваша проблема здесь в том, что инструмент отчетности не сообщает (красный / зеленый) охват только на основе охвата филиала.

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

Примечание: OpenCover не знает, на каком языке вы написали код, во всем, что он видит - это созданный IL.

0 голосов
/ 07 сентября 2011

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

Инструменты, для которых файлы классов инструментов, AFAIK, ограничены таким образом, поскольку файлы классов содержат только информацию, относящуюся к коду класса, к строкам исходного текста, а не к частичным строкам.

Наш Java-тестИнструмент покрытия (и другие члены нашего семейства инструментов тестирования покрытия) не обрабатывают файлы кода класса.Скорее, они обрабатывают исходный код и точно отслеживают частичную информацию строки (начальная строка / столбец, конечная строка / столбец).

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

...