2009-10-05 7 views
16

Есть ли такие инструменты для покрытия кода в Java, которые предоставляют разные пути в программе. В основном идея состоит в том, чтобы гарантировать, что все циклы и вложенные циклы будут покрыты во время выполнения. То есть, чтобы убедиться, что все петли в базе кода выполнены хотя бы через одну итерацию.Инструменты покрытия кода в Java

+0

Дубликат http://stackoverflow.com/questions/39329/what-is-your-favourite-code-coverage-tools-free- и-не-бесплатно –

+8

Нет, это не так. Он попросил инструменты для охвата * пути *. См. Http://en.wikipedia.org/wiki/Code_coverage для определений. Большинство ответов на этот вопрос не отвечают на поставленный вопрос. –

ответ

2

Попробуйте EMMA Это бесплатно. Он поддерживается поддержкой eclipse и JetBrains IDEA, а также сервером сборки TeamCity.

+0

Обратите внимание, что покрытие кода поддерживается только в редакции Ultimate версии IDEA, а не в сообществе. – Eponymous

1

Clover - хороший инструмент.

+2

К сожалению, это коммерческий продукт :-( Кроме того, он до сих пор поддерживается и по моему опыту дает точный результат (например, эмма не позволяла мне получать 100% -ное покрытие на перечисление) It подключается к Eclipse, Hudson, Sonar, ... Отчет действительно чистый (что сильно отличается в конце дня) – vdr

+0

К сожалению, кто платит * вашу * зарплату? –

+0

Я считаю, что Clover теперь с открытым исходным кодом – John

16

Cobertura, EMMA и даже Clover делать только ветвь покрытия/решение (в дополнение к линии/заявление покрытия, конечно). Клевер также предоставляет метод (который просто измеряет, был ли вообще введен метод во время выполнения).

Для Путь покрытие (плюс покрытие линии/оператора), попробуйте JMockit Coverage.

Образец отчета можно найти here.

Фактически, на данный момент это только начальная версия новой поддержки покрытия пути, которую мне все еще нужно улучшить.

+0

+1 для этого хорошего ответа, единственного до сих пор (всем остальным не хватает реального вопроса OP) –

1

Я бы с JaCoCo Это инструмент с открытым исходным кодом (замена EMMA), распространяемый по публичной лицензии Eclipse.

Ref (5:05, 17 июля 2013): http://en.wikipedia.org/wiki/Java_Code_Coverage_Tools

+0

[EclEmma] (http://www.eclemma.org/) обеспечивает хорошую интеграцию JaCoCo с Eclipse. –

Смежные вопросы