いつも大変お世話になっております。
現在、Ruby on Railsに挑戦しているのですが、
下記の3エラーが解決せずに困っています。
Failures:
-
User pages profile page
Failure/Error: let(:user) { FactoryGirl.create(:user) }
ArgumentError:
Factory not registered: user./spec/requests/user_pages_spec.rb:8:in `block (3 levels) in <top (required)>'
./spec/requests/user_pages_spec.rb:9:in `block (3 levels) in <top (required)>'
-
User pages profile page
Failure/Error: let(:user) { FactoryGirl.create(:user) }
ArgumentError:
Factory not registered: user./spec/requests/user_pages_spec.rb:8:in `block (3 levels) in <top (required)>'
./spec/requests/user_pages_spec.rb:9:in `block (3 levels) in <top (required)>'
上記につきまして、Factory not registeredということでFactoryがないという意味だとは
思うのですが、gem 'factory_girl_rails', '4.2.1'がgemfileできちんとインストールはできていますし
factories.rbもspecフォルダ内に格納されています。
何が問題なのでしょうか。 ご教示くださいませ。
user_pages_spec.rb
Ruby
1require 'spec_helper' 2 3describe "User pages" do 4 5 subject { page } 6 7 describe "profile page" do 8 let(:user) { FactoryGirl.create(:user) } 9 before { visit user_path(user) } 10 11 it { should have_content(user.name) } 12 it { should have_title(user.name) } 13 end 14 15 describe "signup page" do 16 before { visit signup_path } 17 18 it { should have_content('Sign up') } 19 it { should have_title(full_title('Sign up')) } 20 end 21 22 describe "sign up" do 23 24 before { visit signup_path } 25 26 let(:submit) { "Create my account" } 27 28 describe "with invalid information" do 29 it "should not create a user" do 30 expect { click_button submit }.not_to change(User, :count) 31 end 32 end 33 34 describe "with valid information" do 35 before do 36 fill_in "Name", with: "Example User" 37 fill_in "Email", with: "user@example.com" 38 fill_in "Password", with: "foobar" 39 fill_in "Confirmation", with: "foobar" 40 end 41 42 it "should create a user" do 43 expect { click_button submit }.to change(User, :count).by(1) 44 end 45 end 46 end 47end
factories.rb
Ruby
1FactoryGirl.define do 2 factory :user do 3 name "Michael Hartl" 4 email "michael@example.com" 5 password "foobar" 6 password_confirmation "foobar" 7 end 8end
- User pages sign up with valid information should create a user
Failure/Error: fill_in "Email", with: "user@example.com"
Capybara::ElementNotFound:
Unable to find field "Email"./spec/requests/user_pages_spec.rb:37:in `block (4 levels) in <top (required)>'
上記につきましても、CapybaraにEmail Elementが見つからないと表示されてしまい
何を代用するべきなのかに窮しています。
申し訳ありませんが、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/31 07:53