Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

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