Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Next challenges

Recent achievements

  • Global
  • Personal

Recognition

  • Give kudos
  • Received
  • Given

Leaderboard

  • Global

Trophy case

Kudos (beta program)

Kudos logo

You've been invited into the Kudos (beta program) private group. Chat with others in the program, or give feedback to Atlassian.

View group

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
  • Community
  • Products
  • Clover
  • Questions
  • Why does Clover, using test optimization, keeps executing the tests which were only necessary to execute in the previous build?

Why does Clover, using test optimization, keeps executing the tests which were only necessary to execute in the previous build?

I have a question regarding the way Clover is optimizing the tests that should run during a Maven build.
After a change to some sourcecode only the relevant tests to that change are executed. But what I do not understand is why after a next build Clover still keeps executing those tests. I have the following configuration for Maven:

(plugin.txt)

I execute a Maven build using: mvn integration-test -Pclover

When I run a Maven build using Clover for the first time it correctly produces the following log:

(log1.txt)

When I run a new Maven build it correctly does not execute any tests according to the following log:

(log2.txt)

Then after changing some sourcecode it correctly executes the relevant tests accoring to the following log:

(log3.txt)


So far so good, but when I run a new build without changing sourcecode it still executes the same tests as log3.txt:

(log4.txt)

I would expect that in log4.txt no tests are executed, because nothing changed in comparison to the previous build. Am I invoking Clover incorrectly or...?

1 answer

Please note that maven-clover2-plugin has two goals for test optimization:

1) clover2:optimize - which optimizes the 'test' phase

2) clover2:optimizeIntegration - which optimizes 'integration-test' phase


According to log files, you're running the 'integration-test', so please try to use the 'optimizeIntegration' goal.

Regards
Marek

Does the optimizeIntegration goal work only with surefire, or does it work with failsafe as well?

I saw that guide already, but it doesn't mention the optimizeIntegration goal. Clover reporting of my surefire and failsafe test works fine, but when I try to run clover2:optimizeIntegration it always runs all of the failsafe tests (that is to say, it doesn't appear to optimize with failsafe).

I wasn't precise enough, sorry. :) Clover:

  • supports both surefire and failsafe plugins in such way that you can execute tests and generate reports out of them
  • supports test optimization for surefire for both 'test' and 'integration-test' phase, but
  • does not support test optimization for failsafe plugin.

I have corrected sentence in manual.

You can always raise a feature request on https://jira.atlassian.com/browse/CLOV for failsafe test optimization. We'll check if/when it could be done.

Furthermore, as Clover-for-Maven is open-source you are welcome to contribute. :)

I would expect when invoking: mvn test -Pclover, using the 'optimize' goal configured in my pom.xml (see: plugin.txt above) it should work. However it still runs all tests when no changes are made to the source code in comparison to the previous build.


Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Marketplace Apps & Integrations

Learn how to request and manage app requests in the Marketplace

G’day everyone! Super exciting news coming from the Marketplace. We have now fully rolled out the ability for end-users to submit app requests to admins directly from within the product! No longer ...

43 views 1 5
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