2010-10-08
■ [rails] deviseとテストについて
メモです。
- http://github.com/plataformatec/devise (Test helpersの項)
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)
簡単でいいですね。