Я покопался вокруг Антуана, поскольку я также использую SONAR и Cobertura в своих проектах и заинтригован вашей проблемой.Из того, что я вижу, когда вы указываете задаче ANT генерировать «html» в качестве вывода, вы получаете всю необходимую информацию о строках, но, как вы отметили, это не легко разбираемый формат (и, возможно, подлежащий изменению).
С SONAR я говорю Cobertura вывести «xml», что дает мне файл с именем coverage.xml
с выводом.К сожалению, он не включает построчные данные, и я не вижу никаких параметров задачи ANT , чтобы включить их из документов Cobertura.
Мне имеет смысл, что файл с именем cobertura.ser
содержит все необходимые данные, но только HTML-отчет отображает их для вас.Я полагаю, что ответ на ваш вопрос может заключаться в попытке извлечь необходимые сериализованные данные из cobertura.ser.
Глядя на исходный код, я вижу следующие классы
net.sourceforge.cobertura.reporting.html.HTMLReport
net.sourceforge.cobertura.reporting.xml.XMLReport
Что яПодозреваю, что вы можете попытаться это сделать - взять копию HTMLReport в качестве основы и попытаться записать тот же вывод, что и XML, который затем можно проанализировать для своих собственных целей (или настройте вызовы тех же методов, которые используются HTMLReport в XMLReport).Я вижу строку nbHitsUncovered
в HTMLReport
, так что, надеюсь, у вас есть только один класс для записи.
Я погуглил и не вижу, чтобы кто-то делал это, но это выглядит как полезное улучшение.