Skip to content

Instantly share code, notes, and snippets.

@jraines
Created May 24, 2011 17:03
Show Gist options
  • Star 69 You must be signed in to star a gist
  • Fork 25 You must be signed in to fork a gist
  • Save jraines/989132 to your computer and use it in GitHub Desktop.
Save jraines/989132 to your computer and use it in GitHub Desktop.
Rails 3.1 with Rspec, Cucumber, Factory Girl, Haml, and Simple Form

Install Rails 3.1 RC

gem install rails --pre

generate new app, skipping Test::Unit file generation

rails new my_app -T

Set up Gemfile

# in Gemfile

gem 'haml'
gem 'haml-rails', :group => :development
gem 'simple_form'

group :test do
  gem 'database_cleaner'
  gem 'rails3-generators' #mainly for factory_girl & simple_form at this point
  gem 'rspec-rails'
  gem 'factory_girl_rails'
  gem 'cucumber-rails'
  gem 'capybara'
  
end

Install our gems, and scope them to our app

bundle install --path vendor

Use this for all subsequent ````bundle install``` commands. Why? http://ryan.mcgeary.org/2011/02/09/vendor-everything-still-applies/

Configure generators to use the gems we want, and skip view spec generation

# in config/application.rb

config.generators do |g|
  g.test_framework :rspec, :views => false, :fixture => true
  g.fixture_replacement :factory_girl, :dir => 'spec/factories'
  g.form_builder :simple_form
  g.template_engine :haml
end

turn on autoloading of lib directory and all its subdirectories

In Rails 3+, the lib directory is no longer autoloaded.

# in config/application.rb
config.autoload_paths += %W(#{config.root}/lib)
config.autoload_paths += Dir["#{config.root}/lib/**/"]

run install tasks for our gems

rails g cucumber:install
rails g rspec:install
rails g simple_form:install

Devise-specific configuration

@listenlight
Copy link

thank you. this is helpful

@olivierlacan
Copy link

Can't that go in config/initializers/generators.rb ?
Thanks a lot for this.

@endymion
Copy link

Thanks!

@erlikh
Copy link

erlikh commented Feb 5, 2012

thank you! meanwhile, config line for views specs should be:
g.test_framework :rspec, :view_specs => false, :fixture => true

@pramodshinde
Copy link

why it is necessary to have hanl-rails ? only in development

@defvol
Copy link

defvol commented Jun 10, 2013

I just had an issue where RSpec wouldn't find the action view templates written in haml.

I solved it by adding the haml-rails gem to the test group.

Thus, if you have the same issue I recommend:

group :development, :test do
  gem 'rspec-rails'
...
  gem 'haml-rails'
end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment