On Sunday, April 1, 2012 9:34:00 PM UTC-5, Bradley wrote: > > I have some let and before declarations that I want to define for all of > my tests. I can't seem to figure out how to do this in a clean way (ie by > including a module in my Rspec config). I don't want to have to > include_context for each test, I just want to run some before(:all) hooks > and provide access to some default variables that example groups could > override with their own let declarations. > > I must be missing something because I can't find anywhere in the docs how > I might achieve this. Any help is greatly appreciated. > > Brad >
Hey Brad, You can set up global `before` hooks using `RSpec.configure` [1] [2]: RSpec.configure {|c| c.before(:all) { do_stuff }} `let` is not supported in `RSpec.configure`, but you _can_ set up a global `let` by including it in a SharedContext module [3] and including that module using `config.before`: module MyLetDeclarations extend RSpec::Core::SharedContext let(:foo) { Foo.new } end RSpec.configure { |c| c.include MyLetDeclarations } If you're going to use that, you may as well put all your global stuff in the same module: module GlobalStuff extend RSpec::Core::SharedContext before(:all) { do_stuff } let(:foo) { Foo.new } end RSpec.configure { |c| c.include MyLetDeclarations } HTH, David [1] http://rubydoc.info/gems/rspec-core/RSpec#configure-class_method [2] http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration [3] http://rubydoc.info/gems/rspec-core/RSpec/Core/SharedContext
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users