- Created by Ken Olofsen, last modified by Nick on Nov 21, 2008
Click on the triangle next to the question to reveal the answer
Is Clover running on a central server or off a developer's workstation?
Clover can run on a build server or a developer's workstation depending on your preference and environment.
Clover can run on a build server or a developer's workstation depending on your preference and environment.
Does Clover integrate with Atlassian's Bamboo (build server)?
Bamboo and Clover can currently work together in the following ways:
- See how much of your build is actually being tested
- Compare statement, method and conditional branch coverage
- Compare total lines-of-code to just non-comment lines-of-code
- Track number of files, methods, classes and packages in each build
Here are instructions on how to integrate Bamboo and Clover.
There is also a Coverage Plugin available from Bamboo.
Bamboo and Clover can currently work together in the following ways:
- See how much of your build is actually being tested
- Compare statement, method and conditional branch coverage
- Compare total lines-of-code to just non-comment lines-of-code
- Track number of files, methods, classes and packages in each build
Here are instructions on how to integrate Bamboo and Clover.
There is also a Coverage Plugin available from Bamboo.
Does Clover support Intellij8?
This currently under internal testing. We expect it to be released in the coming weeks.
This currently under internal testing. We expect it to be released in the coming weeks.
Does Clover have any historical reporting?
Clover can display historical reports for sets of coverage data and other metrics collected over time for a project.
Clover can display historical reports for sets of coverage data and other metrics collected over time for a project.
How do we integrate clover with Apache ANT?
Clover has extensive integration with Apache ANT. Please view our documentation on step by step instructions.
Clover has extensive integration with Apache ANT. Please view our documentation on step by step instructions.
Do you support Hudson CI?
A plugin is available from Hudson that provides you coverage reports from Clover.
A plugin is available from Hudson that provides you coverage reports from Clover.
How does Clover run unit tests and integration tests? What does the report show when it comes to integration tests?
Clover doesn't run tests directly; it integrates with existing test runners in the Ant, Maven, Eclipse and IntelliJ IDEA environments. Clover measures per-test coverage by specially instrumenting your JUnit or TestNG test classes. You can also define your own test detector to match other, homegrown test methods.
If you run manual tests, Clover can still measure code coverage for these tests. It will not be reported at the per-test level.
Clover doesn't run tests directly; it integrates with existing test runners in the Ant, Maven, Eclipse and IntelliJ IDEA environments. Clover measures per-test coverage by specially instrumenting your JUnit or TestNG test classes. You can also define your own test detector to match other, homegrown test methods.
If you run manual tests, Clover can still measure code coverage for these tests. It will not be reported at the per-test level.
Does Clover support TestNG?
Clover is fully compatible with TestNG.
Clover is fully compatible with TestNG.
Does Clover integrate with Maven2?
The Clover-for-Maven 2 plugin allows you to produce Clover code coverage reports from the Maven 2 build tool. It provides detailed information to highlight areas of low coverage in your project, helping to guide your unit-testing activities.
The Clover-for-Maven 2 plugin allows you to produce Clover code coverage reports from the Maven 2 build tool. It provides detailed information to highlight areas of low coverage in your project, helping to guide your unit-testing activities.
In terms of effort, what is the estimate to migrate from 2.4 to 2.4.1?
Follow these simple steps to upgrade Clover for:
Follow these simple steps to upgrade Clover for:
Can you speak a little bit to the ability of clover in a multi-module project environment - especially with regards to running clover with maven 2 in a multi-module project. Can you run the clean goal in Maven2 with the clover2:instrument goal at the same time?
Clover can run the clean goal in Maven2 with the clover2:instrument goal at the same time.
There are two main choices when running the maven-clover2-plugin in a multi-module project:
1) use a database for each sub-module, and then run clover2:aggregate to merge all databases
2) specify the single Clover Database configuration parameter, which means only a single clover database will be used. clover2:aggregate is not required
Clover can run the clean goal in Maven2 with the clover2:instrument goal at the same time.
There are two main choices when running the maven-clover2-plugin in a multi-module project:
1) use a database for each sub-module, and then run clover2:aggregate to merge all databases
2) specify the single Clover Database configuration parameter, which means only a single clover database will be used. clover2:aggregate is not required
Is there a way to exclude test code from being instrumented by clover?
You can exclude test code from being instrumented by Clover, however this will prevent Clover measuring per-test coverage. Test optimization will also not be available if tests are not instrumented.
You can exclude test code from being instrumented by Clover, however this will prevent Clover measuring per-test coverage. Test optimization will also not be available if tests are not instrumented.
Are the clover reports reporting on centralized information for an entire development team, or a particular developers test metrics/coverage? Or both?
Both. Clover's reports can be generated centrally, for the entire team, or individually, on a developer desktop. A common usage is to have Clover's Ant or Maven integration generating a HTML report from a regular Continuous Integration build. This report is then published to a team intranet. In conjunction, individual developers use Clover's IDE integrations to interactively measure coverage during their development activities.
Both. Clover's reports can be generated centrally, for the entire team, or individually, on a developer desktop. A common usage is to have Clover's Ant or Maven integration generating a HTML report from a regular Continuous Integration build. This report is then published to a team intranet. In conjunction, individual developers use Clover's IDE integrations to interactively measure coverage during their development activities.
Can we run the application and see the code being executed via the pages traversed?
Clover can faithfully measure coverage generated from any Java execution. To measure coverage from manual functional tests, instrument your application with Clover and then deploy as normal. Perform the functional tests, then generate a Clover report to see which code was executed.
Clover can faithfully measure coverage generated from any Java execution. To measure coverage from manual functional tests, instrument your application with Clover and then deploy as normal. Perform the functional tests, then generate a Clover report to see which code was executed.
Do you know if Clover 2.4 will interfere with JetBrains-TeamCity Buildserver. Their newest version does test-reordering as well (automatically without changing ant-files).
Clover 2.4 will not interfere with the JetBrains/TeamCity test reordering feature. TeamCity uses a runtime inspection process that may add tests to the test run that Clover would not have chosen to run. This may result in longer running times.
Clover 2.4 will not interfere with the JetBrains/TeamCity test reordering feature. TeamCity uses a runtime inspection process that may add tests to the test run that Clover would not have chosen to run. This may result in longer running times.
This question is in regards to test optimization. Are previously failed tests started first (followed by the other tests affected by a code-change) ? Or will it 'just' start all tests possibly affected?
All tests that failed in the previous test run will be run first, along with any new tests.
All tests that failed in the previous test run will be run first, along with any new tests.
How does Clover detect whether a source-file has been changed ?Does it look at CVS/SVN-information or at timestamps or how is it done?
Clover uses a source file checksum to determine file modifications. There is no dependency on version control information.
Clover uses a source file checksum to determine file modifications. There is no dependency on version control information.
Can Clover look into the Source Code in Accurev SCM?
Clover does not require access to any version control. It works via a local checkout or work area. Clover can happily be used in an environment that uses Accurev for version control.
Clover does not require access to any version control. It works via a local checkout or work area. Clover can happily be used in an environment that uses Accurev for version control.
With test optimization are all unit tests run, or just a subset? If all tests are run, how does this save time overall, even if the tests are reordered?
Clover has two ways to speed up testing, which can be used together or separately. Optimization will select only a subset of tests that are applicable to the given set of changed source files. Test re-ordering will change the test execution order so as to encourage faster failure. Running a subset of tests will obviously be faster than running the full test suite. Test re-ordering will be faster because tests that failed previously, and tests that run faster, will be run first.
Clover has two ways to speed up testing, which can be used together or separately. Optimization will select only a subset of tests that are applicable to the given set of changed source files. Test re-ordering will change the test execution order so as to encourage faster failure. Running a subset of tests will obviously be faster than running the full test suite. Test re-ordering will be faster because tests that failed previously, and tests that run faster, will be run first.
Any plans for Clover2->Selenium integration? Automated functional testing basically.
Clover supports Selenium RC testing. To get full per-test coverage and test optimization functionality, any server code being driven via selenium must be running in the same JVM as the Selenium RC JUnit tests.
Clover supports Selenium RC testing. To get full per-test coverage and test optimization functionality, any server code being driven via selenium must be running in the same JVM as the Selenium RC JUnit tests.
How can you tell that optimization is occuring? In clover report or output? What can be used for confirmation that optimization has occured?
Clover currently produces console output when optimization is occuring. The output includes the number of tests selected to run, the total number of candidate tests considered, and the estimated time saving.
Clover currently produces console output when optimization is occuring. The output includes the number of tests selected to run, the total number of candidate tests considered, and the estimated time saving.
Concerning CI Integration: I was thinking about something like integrating the default test report (stacktrace etc.) from bamboo with the clover report, e.g. connect them by links. Is there something like this?
Yes, you can use Bamboo's user-defined artifacts to pick up Clover reports, which will then be linked to your build.
Yes, you can use Bamboo's user-defined artifacts to pick up Clover reports, which will then be linked to your build.
Any plans for Clover to support Java Script?
Clover only supports Java at the moment.
Clover only supports Java at the moment.
Is there optimization information which is stored in the target directory (maven2) which would be loss for each clean? Can this information be stored outside the target directory?
The clover.snapshot file must exist between clean builds by default, this is stored in target/clover/clover.snapshot
The clover2:clean goal can be used instead of clean. This ensures everything else is cleaned except the snapshot file. Alternatively, you can specify an alternate snapshot location.
The clover.snapshot file must exist between clean builds by default, this is stored in target/clover/clover.snapshot
The clover2:clean goal can be used instead of clean. This ensures everything else is cleaned except the snapshot file. Alternatively, you can specify an alternate snapshot location.
Can optimization be run directly, instead of using the profile tie to normal test operation?
Optimization can be run directly, from the command line. It is not recommended to have optimization run by default however since this may mean "clovered" code get deployed accidently. Check out our Maven Best Practices.
To run optimization on the command line: mvn clover2:clean clover2:setup verify clover2:snapshot
Optimization can be run directly, from the command line. It is not recommended to have optimization run by default however since this may mean "clovered" code get deployed accidently. Check out our Maven Best Practices.
To run optimization on the command line: mvn clover2:clean clover2:setup verify clover2:snapshot
- No labels