Инструменты покрытия кода Java, которые поддерживают исключения исходной строки

В настоящее время я использую Clover, чтобы измерить охват кода моего Java-кода. Одна из функций, на которую я полагаюсь, - это возможность исключать произвольные разделы кода из отчетов о покрытиях:

///CLOVER:OFF because this case is simpler to verify by code read
if (lFile.isFile() &&
    lFile.getName().endsWith(FILE_EXTN) &&
    !lFile.delete())
{
  throw new IOException("delete() failed for: " + lFile);
}
///CLOVER:ON

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

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

ПРИМЕЧАНИЕ. В настоящее время я изучаю добавление чего-то подходящего для JaCoCo (Проблема №14).

Ответ 2

По моему опыту, все работает хорошо:

  • В терминах закрытого источника: Clover
  • С точки зрения open-source: Cobetura (но не работает с Java 7), EMMA