So today I have been looking into getting our enormous battery of tests to run faster. I have yet to find anything that works for Cucumber, but I did find an interesting way to speed up RSpec which is detailed here.
https://makandracards.com/makandra/950-speed-up-rspec-by-deferring-garbage-collection
Basically, it seems that by not collecting garbage too frequently, you can make your tests run much faster (at the expense of memory management of course). We observed a 30% reduction in the time it takes to run an RSpec test suite.
I did try to implement this on Cucumber, however because we need to store much more in memory to set up and tear down our objects, it meant that I kept running out of memory when I wasn't using the default Garbage Collection and the tests took even longer (so, buyer beware). I suppose if you had a small set of features though you might see some benefit.
https://makandracards.com/makandra/950-speed-up-rspec-by-deferring-garbage-collection
Basically, it seems that by not collecting garbage too frequently, you can make your tests run much faster (at the expense of memory management of course). We observed a 30% reduction in the time it takes to run an RSpec test suite.
I did try to implement this on Cucumber, however because we need to store much more in memory to set up and tear down our objects, it meant that I kept running out of memory when I wasn't using the default Garbage Collection and the tests took even longer (so, buyer beware). I suppose if you had a small set of features though you might see some benefit.
Comments
Then I encountered this post. I'm one of the founders of Tddium -- a hosted test and CI server that automatically accelerates large rspec, cucumber, and test-unit test suites by running them in parallel in our high-performance cloud. You can use our distributed platform both with our own CI server or with your existing Jenkins/Teamcity/etc setup. Come check it out for free -- www.tddium.com.
http://freethegnu.wordpress.com/2012/03/16/how-to-make-cucumber-run-faster/