Rspecで使うletメモ


参照:https://qiita.com/jnchito/items/42193d066bd61c740612
スーパーわかりやすいでごわす

letの基本

変数っぽく使えるのが便利

feature 'hogee' do
  let(:user) { create(:user) }

  scenario 'hogehoge' do
    # ~省略~
  end

end

今回の場合であれば、feature 'hogee' doからendまでusercreate(:user)として使える

よって、

feature 'tweet', type: :feature do
  let(:user) { create(:user) }

  scenario 'post tweet' do
    # ログイン処理
    visit new_user_session_path
    fill_in 'user_email', with: user.email
    fill_in 'user_password', with: user.password
    find('input[name="commit"]').click
    expect(current_path).to eq root_path
    expect(page).to have_content('投稿する')
  end
end

こんなこともできる