2011-02-02 2 views
5

Мы думаем об использовании одного из этих инструментов в нашей процедуре разработки. Наша среда широко использует mvn и eclipse.cobertura vs clover

Какой, по вашему мнению, является наилучшей утилитой для проверки покрытия теста? Я понимаю, что это может зависеть от ситуации, чтобы определить, когда лучше использовать кобертуру над клевером и наоборот.

Заранее спасибо

+2

Есть две проблемы, связанные с этим вопросом. 1) Каковы ваши конкретные цели? Для многих целей Cobertura и Clover одинаково подходят, но для конкретных случаев использования вы можете предпочесть один над другим. 2) Будет очень мало людей, которые использовали обоих, и каждый, у кого есть опыт только в одном из них, будет обескуражен, хотя для вас может быть достаточно простого «это сработало для нас». – Confusion

ответ

0

Я не использовал клевер. Я использовал Cobertura: было легко настроить и предоставить простые результаты покрытия C1, которые мы хотели и ожидали. Была некоторая проблема, что он всегда выполнял все тесты дважды (один раз и один раз без инструментов), хотя мы и не чувствовали, что нам это нужно. Однако, поскольку набор тестов был достаточно коротким, он нас никогда не беспокоил.

2

Я столкнулся с аналогичной дилеммой и испытал Cobertura, Emma и клевер. Кобертура и Эмма. Клевер, вероятно, был лучшим из трех инструментов с точки зрения скорости и уровня детализации, в которые можно было бы попасть. Мы могли позволить себе заплатить за инструмент в то время, поэтому мы решили пойти с Кловером. Из двух open source я любил простоту использования Emma. Кроме того, Эмма предоставила нам покрытие уровня метода, чего не видел Кобертура.

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

7

Я также пробовал Клевер, Кобертуру и Эмма. Сейчас мы используем Cobertura. Мне понадобилось около дня, чтобы интегрировать Cobertura в нашу сборку без головы, она производит требуемую статистику, а плагин ecobertura eclipse является примитивным, но полезным и информативным. Для Cobertura есть очень хороший плагин Hudson.

Мы, где ранее использовала Эмма. Эмма с плагином EclEmma примерно эквивалентна Cobertura/eCobertura. Интеграция Эммы в Ant - это более сложный фрактон и не предлагает фактор сложности. Плагин EclEmma более приятный и более зрелый, чем eCobertura. Плагин Hudson эквивалентен и прост в настройке. Наша причина для перехода от Эммы заключалась в том, что кодовая база не поддерживалась уже несколько лет, и мы сталкиваемся с проблемами, поскольку она оказывается бесполезной, если встречается с кодом, использующим Ломбок.

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

Поскольку Cobertura предоставляет все, что нам нужно, с ним легко работать и является бесплатным, мы не видели причин тратить деньги на Clover.

+0

Я должен упомянуть, что в ответ на предыдущий пост Cobertura теперь предлагает статистику покрытия уровня метода. –

+0

Содержит ли ваш Cobertura освещение аннотаций Lomboks ('@Getter @ Setter')? большинство моих бобах в основном красные, из-за ломбок ... это меня раздражает :) – dantuch

0

В настоящее время мы используем Cobertura, и я был очень впечатлен. Было удивительно легко интегрироваться в наш существующий модульный процесс сборки & (я думаю, что он выглядит менее часа, чтобы полностью работать.) Кроме того, наш стек программного обеспечения представляет собой сочетание Java & Groovy, который Cobertura обрабатывает просто отлично и даже делает освещение на закрытии так, как вам хотелось бы. (По моему опыту, очень немногие Java инструменты на самом деле правильно работать с не-Java JVM языков, так что это было приятным сюрпризом.)

3

Одно различие следует отметить, что Cobertura не поддерживает Java 7:

Cobertura & Java 7 support

Клевер 3.1.х не поддерживает Java 7:

http://confluence.atlassian.com/display/CLOVER/Clover+3.1+Release+Notes

UPDATE: Cobertura 2.0.3 поддерживает Java 7

+1

Cobertura 2.0.3 поддерживает Java 7, версия cobertura-maven-plugin версии 2.6, которая использует эту версию, была только что выпущена –

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