以下の内容はhttps://kikeda1104.hatenablog.com/entry/2016/08/29/084348より取得しました。


Rspecでseeds.rbをリセット時に読み込む。

プロジェクトにrspecとfactory girlのgemを追加して seeds.rbを読み込んでから、毎回テストを起動したかったのでこのあたりをまとめておく。

環境

rspecとfactory girlの導入

まずは、Gemfileにrspec_railsfactory_girl_railsを追加してbundle installします

# Gemfileにgemを追加
group :development, :test do
  gem 'rspec_rails'
  gem 'factory_girl_rails'
end

group :test do
  gem 'database_clear'
end
bundle install

rspec install

$ rails g rspec:install

環境別のseedを作成する

これはRails.env.hoge?で切り分ければ、seeds.rbにまとめることもできる。

env毎のファイルを作成する。

mkdir db/seeds
touch db/seeds/test.rb
touch db/seeds/development.rb
touch db/seeds/production.rb

db/seeds/test.rbdb/seeds/development.rbに記述を追加

values = { email: 'hoge@example.com'... } # attriubutesを設定する。
Admin.create(values)

seeds.rbに下記のコードを追加。

load(Rails.root.join( 'db', 'seeds', "#{Rails.env.downcase}.rb"))

テスト時にdbをリセットして、seedsを読み込む。

#clean_withの引数に、exceptでクリーンにしないmodel名を記述することもできます。

config.before(:suite) do
  load Rails.root.join('db', 'seeds.rb')
  DatabaseCleaner.clean_with :truncation
  # DatabaseCleaner.clean_with :truncation, { except: %w(categories brands) }
end

参考URL

blog.inouetakuya.info

環境ごとに投入する初期データを変える - Qiita

環境にあわせてrake db:seedを実行する - how to code something




以上の内容はhttps://kikeda1104.hatenablog.com/entry/2016/08/29/084348より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14