newbieが忘れがちなアプリケーションごとのrspecセットアップ

gem_original_require': no such file to load -- spec_helper (LoadError)

とかのエラーメッセージが出るのは

$ rails g rspec:install

をしていない

Could not find table 'テーブル名'

と出るのは

$ rake db:test:prepare

をしていない。

rspecでfixturesを使いたい場合、RAILS_ROOT/config/application.rbに

require File.expand_path('../boot', __FILE__)

require 'rails/all'

# If you have a Gemfile, require the gems listed there, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(:default, Rails.env) if defined?(Bundler)

module Miniblog
  class Application < Rails::Application

  # (省略)

    # Configure rspec
    config.generators do |g|
      g.test_framework  :rspec, :fixture => true
    end

  end
end

としておかないと、generate時にspec/fixturesディレクトリを作ってくれないし、読み込んでもくれない。後付けで何とかしようとすると(railsの常で)猛烈に面倒なので、rails g する前に書き込んでおいた方がいい。