On Sun, Feb 15, 2009 at 8:47 PM, Ben Mabey <b...@benmabey.com> wrote: > Zach Dennis wrote: >> >> On Sun, Feb 15, 2009 at 2:21 PM, Joaquin Rivera Padron >> <joahk...@gmail.com> wrote: >> >>> >>> hey there, >>> the short version: >>> right now Cucumber provides hooks Before and After to be run around every >>> step, I have notice some use case where BeforeAll and AfterAll hooks >>> would >>> be useful. >>> are ther plans that they be provided? what you think would be the best >>> place >>> to do it (mother_step.rb)? any ideas about this could be accomplished? >>> >>> >> >> BeforeAll is equivalent to just calling code up in env.rb. >> AfterAll is equivalent to registering a ruby at_exit hook in your env.rb. >>
I updated the most relevant wiki page with this info: http://wiki.github.com/aslakhellesoy/cucumber/hooks Aslak >> Of course they don't have to go in your env.rb, you could put them in >> another file, and then require them from env.rb or just let cucumber >> auto-load them if they're in your support/ directory. >> >> > > To illustrate what Zach is saying here is an example I used on the wiki[1] > before: > > # Global setup > ActionMailer::Base.delivery_method = :test > ActionMailer::Base.perform_deliveries = true > > Before do > # Scenario setup > ActionMailer::Base.deliveries.clear > end > > After do > # Scenario teardown > Database.truncate_all > end > > at_exit do > # Global teardown > TempFileManager.clean_up > end > > HTH, > Ben > > 1. > http://wiki.github.com/aslakhellesoy/cucumber/migration-from-rspec-stories >> >> >>> >>> the long version: >>> >>> playing with culerity, which according to the author: >>> * when running cucumber culerity spawns a new jruby process (that's the >>> IO.popen call) - this way cucumber runs in plain old ruby (and you can >>> work >>> with your models for test setup etc.) and only celerity runs in jruby >>> * from then on all communication has to go through pipes (in, out) so i >>> am >>> passing the browser config through those pipes to the newsly spawned >>> jruby >>> process >>> * when a test fails the jruby process doesn't get killed, that's the java >>> processes you see. don't have a good idea how to solve this yet. for now >>> you >>> will have to kill those processes by hand. >>> >>> that has improved since now there's a first attempt for built in support >>> to >>> kill orfan java processes at: >>> http://github.com/joahking/culerity/tree/orfan_processes >>> >>> culerity trick happen at step_definitions/common_celerity.rb Before and >>> After hooks, where you build and kill a spawned jruby around every step. >>> There it is easy to see the gain if we could do those in an around All >>> steps >>> manner >>> >>> what do you think? >>> >>> cheers, >>> joaquin >>> >>> >>> _______________________________________________ >>> rspec-users mailing list >>> rspec-users@rubyforge.org >>> http://rubyforge.org/mailman/listinfo/rspec-users >>> >>> >> >> >> >> > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > -- Aslak (::) _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users