It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How does Clover compare to its competitors? What are Clover's advantages?

Simon Simon Feb 29, 2012

The summary says it all: How does Clover compare to its competitors? What are Clover's advantages?

2 answers

1 accepted

1 vote
Answer accepted
Marek Parfianowicz Atlassian Team Sep 09, 2012

I would also add:

  • Distributed Coverage - allows you to measure code coverage for application being executed on several machines (JVMs) so that you can track how a single test method has covered business logic; great feature for all modern ejb/web apps
2 votes
Simon Simon Feb 29, 2012

Atlassian is a little different in that we do not have an external sales force that can develop and maintain general competitor comparisons, but I can tell you how Clover compares to its main competitors - EMMA and Coberta.

When compared to Coberta, Clover has these advantages:

  • Development- Atlassian has a very active release cycle constantly making improvements and releasing new features. Nearly 2 years elapsed between Cobertura 1.9 and 1.9.1.
  • Coverage - Cobertura gives you line coverage, branch coverage and complexity; Clover gives you statements, methods, and conditionals. However, they both report how many times each line of code has been executed, and both highlight the zero lines in red.
  • Speed - Clover's test results execute much faster thanks to test optimization.
  • eporting - I found was very good agreement on a line-by-line basis between the reports produced by the products, but there are differences:
  • Cobertura's summary figures are optimistic, telling me I have 100% branch coverage in places where I don't... but the detailed reports do show non-executed branches. Perhaps it's just a rounding error?
  • Clover shows lines of code that have been partly executed. For example: a test on a boolean that has only evaluated to true even though it has been called many times. Cobertura treats the line as exercised. Of course if you always have a matching else for every if, this won't worry you because Cobertura will spot the non-executed condition.
  • Clover shows details for inner classes (Cobertura bundles them together). I don't think this is a big deal; I just happened to notice the difference.

When compared to Emma, Clover has these advantages:

  • More Accurate - Clover supports branch coverage, indicating whether a particular branch was evaluated under both the true and false conditions. If only the false condition was evaluated, then Clover is smart enough not to report that branch as covered. EMMA uses byte-code instrumentation and therefore can't measure branch coverage. Clover also uses cyclomatic complexity.
  • Per-Test Coverage - Clover measures per-test coverage so you can see which tests covered which lines of code.
  • Faster - Only Clover uses test optimization.
  • More Active - While Clover has regular releases, EMMA hasn't received a single update since July, 2005.
  • Better Interface - Just compare this Clover screencast with EMMA's interface.
  • Full Support - Clover customers receive full technical support as part of their maintenance.

Suggest an answer

Log in or Sign up to answer
This widget could not be displayed.
This widget could not be displayed.
Community showcase
Published in Opsgenie

Handling Opsgenie Alerts

Hi everyone, welcome to the kb articles for Opsgenie FAQs. I'm one of the Technical Support Engineers for Opsgenie who will be providing weekly posts on FAQs from customers.   All alerts are ...

72 views 0 3
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you