У вас две проблемы:
1) Каков охват кода, который у меня сейчас есть?2) Каков охват по сравнению с тем, что было у меня раньше?
Я думаю, вам нужны три инструмента:
a) для расчета покрытия вашего приложения в этот момент,
b) что-то, что вычисляет разницу между тем, что у вас есть сейчас, и тем, что у вас было в последний раз, когда вы вычисляли покрытие кода,
c) что-то, чтобы выбрать изменяющиеся данные покрытия.
Вы можетеа) получить из ряда инструментов покрытия тестов Java, но вы хотите получить его в форме, которую можно обработать на шаге в). Инструмент тестирования Java SD предоставляет эти данные в удобной для использования форме.Об охвате теста сообщается в XML с данными номера строки, так что вы можете легко создать инструмент для извлечения того, что вы хотите.
b) Любой инструмент сравнения сделает выявление различий в файлах при условии, что файлы из предыдущеговерсия и из этой версии выстраиваются один в один.В противном случае вы можете просто предположить, что данные тестового покрытия совершенно разные: -} Однако вы хотите получить наименьшее различие, которое вы можете получить;см. SD Java Smart Differencer Tool для инструмента, который часто вычисляет гораздо меньшие дельты, чем обычный diff.Вывод Smart Differencer является машиночитаемым.
c) У меня нет готового ответа на этот вопрос, но сценарий Perl, объединяющий информацию из a) и b), вероятно, выполниттрюк.Что вы хотите сообщить, так это то, что для каждой явной дельты, идентифицированной инструментом diff, что такое данные покрытия, и для всего кода, не измененного в соответствии с инструментом diff, является ли новое покрытие меньше старого покрытия.