tickle

Run your tests in parallel processes

MIT License

Stars
109
Committers
3

Tickle

Tickle spawns multiple processes and tries running your test suite in parallel for reducing the time taken to run them. Thanks to http://github.com/grosser/parallel_specs for the concept.

Setup

To install :

$ script/plugin install git://github.com/lifo/tickle.git

Example

To run all tests :

$ rake tickle # This will use 3 processes by default

To run all tests using 2 processes :

$ rake tickle[2]

To only run unit tests :

$ rake tickle:units

To run unit tests in 4 parallel processes :

$ rake tickle:units[4]

tickle:functionals and tickle:integration should work as expected.

Tuning

For best results, use tickle with Ruby Enterprise Edition and Twitter's GC settings :

Database Setup

If you're NOT USING transactional fixtures, you'll need to create 'N' new databases. Where 'N' is the maximum number of parallel processes you want to run.

Assuming you want to run 2 proccesses, you'll need to provide test_1 and test_2 config settings in database.yml :

test_1: adapter: mysql encoding: utf8 database: myapp_test1 pool: 5 username: root password: socket: /tmp/mysql.sock

test_2: adapter: mysql encoding: utf8 database: myapp_test2 pool: 5 username: root password: socket: /tmp/mysql.sock

Copyright (c) 2009 Pratik Naik, released under the MIT license