There are no reviews yet. Be the first to send feedback to the community and the maintainers!
Repository Details
Run your tests in parallel processes
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 :
- http://www.rubyenterpriseedition.com/
- http://blog.evanweaver.com/articles/2009/04/09/ruby-gc-tuning/
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