私は 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"
ここで何が起こっているかについての提案やアイデアは大歓迎です。
ありがとう -マット