I am running unit tests and Selenium tests in our Jenkins CI server. As we all know, tests take long to run in a large project.
Is there a tool/framework for Java which could only trigger tests whose respective source code has changed? This because not every commit to SCM affects all areas of the source code…
I am using Cobertura for code coverage and Surefire for reporting.
EDIT: I found Atlassian Clover, but I am searching for a free solution.
This is the problem I’d tackle. Split your project into multiple logical units (e.g. Persistence Layer, Service Layer, Web Layer) and test them individually. That way you only need to run Selenium tests when the web layer has changed and the build time per artifact grows shorter