Speed up the startup time of cucumber for TDD/BDD tests
Getting started with Behaviour Driven Development with Cucumber and noticed that it takes more time to startup than actually run the scenarios.
Compare this:
2 scenarios (2 passed)
4 steps (4 passed)
0m2.252s
real 0m16.013s
user 0m14.850s
sys 0m0.814s
Cucumber reports 0m2.252s
but time says 0m16.013s
, thats ~~14seconds of difference.
Remember: user time represents the time the application spent on user-mode, actually running the code, where as sys represents the time spent on kernel. real is the full time from start to finish
Using spork as a DRb server
(DRb = Distributed Ruby server)
Note from spork site
Because Spork uses Kernel.fork, it only works on POSIX systems. This means Windows users are not invited to this party. Sorry :(
For your rails app, follow this procedure:
Add spork to your Gemfile
gem 'spork'
Run bundle install
and rails g cucumber:install --spork
Finally run spork server on the background:
bundle exec spork cuc &
And happily run tests:
cucumber features/...
The conclusion: it works!
2 scenarios (2 passed)
4 steps (4 passed)
0m2.956s
Done.
real 0m3.946s
user 0m0.658s
sys 0m0.059s
Thank You For sharing