トップ «前の日記(2010-10-04) 最新 次の日記(2010-10-09)» 編集

Route 477



2010-10-08

[rails] deviseとテストについて

メモです。

TestHelpersを使う

Test::Unitの場合 → test/test_helper.rb

 class ActionController::TestCase
   include Devise::TestHelpers
 end

RSpecの場合 → spec/support/devise.rb

 RSpec.configure do |config|
   config.include Devise::TestHelpers, :type => :controller
 end
 sign_in :user, @user   # sign_in(scope, resource)
 sign_in @user          # sign_in(resource)
 sign_out :user         # sign_out(scope)
 sign_out @user         # sign_out(resource)

みたいに書けるようになる。

TestHelpersを使わない

Cucumberみたいな受け入れテストツールを使う場合は、実際にフォーム経由でログインしたりする方がいいよと書いてある。

ふーむ。

[ruby] factory_girl→machinist→fabrication

fixture replacementといえばfactory_girl vs machinistなわけですが、どっちもあんまりsyntaxが好きになれなかったんですよね。 というわけでその後に出てきたfabricationを試す。

定義側 → spec/fabricators/users_fabricator.rb

Fabricator(:user) do
  name "Alpha"
  email "a@lp.ha"
  password "passw0rd"
  password_confirmation "passw0rd"
end

利用側

 @user = Fabricate(:user)

簡単でいいですね。