On 2011-09-21 9:35 PM, Patrick J. Collins wrote:
Hi,

I have some helper methods such as:

def mock_omniauth
   OmniAuth.config.test_mode = true
   OmniAuth.config.mock_auth[:facebook] = facebook_user
end

def facebook_user
   @facebook_user ||= 
HashWithIndifferentAccess.new(YAML.load(File.read("#{Rails.root}/test/fixtures/fb_user.yml")))
end

that I want to use in both cucumber step definitions and rspec.  Is there a
preferred place to store this code, or is it standard practice to just define
them in a module in config/inititalizers and include that in both cucumber's
env.rb and rspec's spec_helper.rb?

Thanks.

Patrick J. Collins
http://collinatorstudios.com

I agree with David that config/initializers isn't the right place as that would load test-related code into your application in production.

I create a folder in Rails.root for shared code and then require it as necessary in RSpec and Cucumber. My current directory name is test_support, which I'm not terribly fond of, but doesn't really matter so I haven't wasted the brain energy to rename it. The benefit of keeping shared code in a folder external to both tools is I can totally remove one tool without the other breaking. If you keep the shared code inside one or the other, you have to be careful about changing whichever one hosts the shared code.

Peace.
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to