BT

Faster Ruby Test Execution With Devver

by Mirko Stocker on Aug 30, 2009 |

An important property of a good test suite is that it runs fast, the faster the better. But over time, as tests accumulate, the test suite will take longer to complete. A countermeasure would be to run tests in parallel, maybe even on several systems (after all, tests should not have any interdependencies). This is were Devver comes into play: Devver (pronounced like "developer") will run your tests on their cloud in parallel. For example, the CruiseControl.rb's integration test suite runs in just 17 seconds, compared to the 59 seconds a test run needed on their local machine.

Devver comes in the form of a gem you install and a Rakefile for your project that contains the new tasks, like rake devver:test to run all unit, functional, and integration tests on their infrastructure.

InfoQ talked to Benjamin Brinckerhoff from the Devver team to learn how exactly they can speed up your tests:

We partition the tests and then distribute the tests among many machines. Each machine has a full copy of the test environment, including the test database and gems.

But what happens when a user needs an additional gem to run the tests?

That's no problem. Since most of our users have Rails projects, by default we run 'rake gems:install' to install the required gems (each user has their own separate set of gems). If that doesn't work for any reason, a user can configure the step that installs gems. So, for instance, a user could run 'geminstaller' instead.

Running the tests faster is certainly very helpful, but what about running them with different versions of Ruby in parallel?

Our current version does not yet support multiple versions of Ruby, but it is a feature we're planning on supporting in the future, especially if we hear a lot of demand for it.

Devver is currently in a beta and during this time free of charge. Afterwards, they "plan to offer Devver free of charge for open source projects but will charge closed source projects a monthly fee". Visit the Devver knowledge base for more information on Devver or just sign up.

Hello stranger!

You need to Register an InfoQ account or to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2013 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT