Distributing Spock tests between multiple computers to reduce the run time of a program's entire test suite

232 views
Skip to first unread message

Behrang

unread,
Nov 6, 2018, 12:48:13 AM11/6/18
to Spock Framework - User
Hi,

Are there any tools (compatible with Gradle or Maven) for distributing tests between multiple computers to reduce the run time of a program's entire test suite?

For example:

* I have a program that has 120 integration test classes. 
* I also have 10 agents at my disposal in the CI environment. 

At a minimum, I am looking for a tool to:

* Distribute the tests among the 10 agents so that each runs 12 tests
* Can merge the test results so that if 2 tests fail on agent 1, and 3 fail on agent 5, and everything else passes, produces a report that indicates only 5 tests have failed.

It is not difficult to this using some shell and CI scripting (e.g. in a Jenkinsfile), but are there any tools already out there to do this?

Regards,
Behrang

Renato Athaydes

unread,
Mar 8, 2020, 9:16:26 AM3/8/20
to Spock Framework - User
We do this in Jenkins by splitting up Specs into categories, it's pretty easy to do. Jenkins then runs all different categories of tests in different nodes... Our builds went from taking 2 hours to less than 30 minutes!


As Spock usually runs via JUnit, this works perfectly.

Good luck,

Renato
Reply all
Reply to author
Forward
0 new messages