Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

TurnipでもFactory Girlを使う(文章補強中...)

TurnipでもFactory Girlが使えます。
TurnipはCapybaraベースなので、当たり前とえば当たり前ですが

#Gemfile
group :test do
  gem 'factory_girl_rails'
end
## spec/devise_steps.rb
step 'ログイン' do
  FactoryGirl.create(:user)
  Capybara.app_host = "http://localhost:3000"

  visit '/users/sign_in'

  fill_in 'user_email',    with: MAILADDR
  fill_in 'user_password', with: PASSWORD

  click_button 'Sign in'
end

step トップページを表示
(略)
end

step 画面に :mark が表示 do |mark|
(略)
end
## spec/feature/login.feature
Feature: ログイン処理
  Scenario: 1
  Given ログイン
  And   トップページを表示
  When   "FundManager" リンクをクリック
  Then  画面に "ログイン済みマーク" 表示
  And   画面に "MAILADDR" が表示
end
## spec/factory/users.rb
# Read about factories at https://github.com/thoughtbot/factory_girl

FactoryGirl.define do
  factory :user do
    email                 MAILADDR
    password              PASSWORD
    password_confirmation PASSWORD
  end
end

後は試すだけです。

 $ bundle exec rake db:migrate RAILS_ENV=test
 $ bundle exec rspec spec/features/login.feature