Отчет Cobertura имеет 100% охват в любом месте - PullRequest
3 голосов
/ 08 ноября 2011

Я запускаю свое webApp, используя Jetty с моими инструментальными классами.После выключения Jetty я беру сгенерированный файл .set и создаю отчет cobertura с помощью инструмента командной строки.

Я всегда получаю 100% результаты покрытия для любого класса.Кажется, что Cobertura учитывает только те строки, которые были выполнены во время тестирования, и не получает полные данные класса.

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

Может кто-нибудь помочь?

Спасибо

Ответы [ 2 ]

2 голосов
/ 09 мая 2013

Как объяснено в http://cobertura.sourceforge.net/faq.html, в ответе на вопрос " Когда я генерирую отчеты о покрытии, почему они всегда показывают 100% покрытие везде? ",

"Cobertura, вероятно, использует неправильный файл .ser при создании отчетов. Когда вы применяете свои классы, Cobertura генерирует файл .ser, содержащий основную информацию о каждом классе. По мере выполнения ваших тестов Cobertura добавляет дополнительную информацию в этот же файл данных. Если инструментированные классы не могут найти файл данных во время работы, они создадут новый. Важно, чтобы вы использовали один и тот же файл cobertura.ser для инструментирования, запуска и создания отчетов. "

В моем случае я столкнулся с этой проблемой, когда инструментированные классы были в одном .ser, а во время выполнения я генерировал другой .ser.Генерация HTML-отчета «просто» из второго .ser показала проблему, упомянутую в вопросе.Объединение двух файлов данных (.ser) и создание отчета решило проблему.

Информацию о «объединении файлов данных» см. В http://cobertura.sourceforge.net/commandlinereference.html.

2 голосов
/ 08 ноября 2011

100% охват - это четкий показатель того, что в отчете отсутствуют источники. Вы должны проверить свою конфигурацию для создания отчета.

Убедитесь, что:

  • вы даете нужную папку
  • исходная папка структурирована как пакеты, а не только все классы в одном каталоге
...