1

私は Rails でテストを書くのは初めてで、http://ruby.railstutorial.orgの RoR チュートリアルに従っています。utility.rb にすでにある sign_in メソッドに似た、独自のテスト ユーティリティ メソッド sign_up を追加しようとしています。ただし、サインアップ ページに対して呼び出すと、次のエラーが発生します。

2) User pages index pagination as an admin user to unlock new users 
     Failure/Error: sign_up user
     Capybara::ElementNotFound:
       cannot fill in, no text field, text area or password field with id, name, or label 'Name' found
     # (eval):2:in `fill_in'
     # ./spec/support/utilities.rb:33:in `sign_up'
     # ./spec/requests/user_pages_spec.rb:63:in `block (5 levels) in <top (required)>'

私の sign_up メソッドは次のようになります。

def sign_up(user)
  visit signup_path
  fill_in "Name",         with: user.name
  fill_in "Email",        with: user.email
  fill_in "Password",     with: user.password
  fill_in "Confirmation", with: user.password
  click_button "Sign up"
end

signup_path にアクセスするだけでもうまくいかないようです。そこに行くかどうかさえわかりません。さらに、行をコメントアウトすると、同じように行が fill_in "Name"詰まるだけです。fill_in "Email"

ここで何が起こっているかについての提案やアイデアは大歓迎です。

ありがとう -マット

4

1 に答える 1