Ashley Moran wrote:
Hi

The code I'm working on now is a server daemon that talks to Twitter, an RSS feed, and some web pages. I've got mock implementations of Twitter and the web stuff, which I start and stop with daemon_controller[1]. I do all the setup in a Before block,
All defined before blocks are run for each scenario so this would slow down every scenario.

but this makes the feature runs agonisingly slow due to the time waiting for everything to restart. I'm now starting a Merb app which will rely on the database created by the server daemon, so it's going to get even slower.

Are there any plans to add BeforeStory or BeforeAll blocks to Cucumber? With this I could start everything once and add reset code to each daemon.

Ashley

[1] http://blog.phusion.nl/2008/08/25/daemon_controller-a-library-for-robust-daemon-management/

BeforeAll (Before running any feature) is currently possible through putting something in your env.rb or really any ruby file that gets required. It will be run once (and before anything else). I use this to manage ferret/selenium. The before/afters being used to tell the service to cleanup so we have clean environment for each test. Could you do the same?

And Afterall is possible through: at_exit

BeforeFeature sounds like it could be useful for preparing services for that specific feature and you don't want them running for other features. I guess currently the only way of achieving this is separating those features and running them in separate cucumber runs. This is what I have done with something similar, using --profile to run different sets of features. I prefer this (in my experience so far) as it allows me to re-use my rake tasks for setting things up and keeps that setup from adding noise to my test code. I appreciate with mock services your situation is slightly different.

--
Joseph Wilk
http://blog.josephwilk.net
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to