0

私は他のトピックを見て、Google 検索を行いましたが、残念ながら解決策はありません。パスワードリセットの最初のテストを書き始めたところです。タイトルまたはテキスト「パスワード」のリンクがないため、Capybara elementnotfound エラーが発生するはずです。代わりに、工場の女の子は登録ユーザーではないと言っています。

  1) PasswordResets emails user when requesting password reset
     Failure/Error: user = FactoryGirl.create(:user)
     ArgumentError:
       Factory not registered: user
     # ./spec/requests/password_resets_spec.rb:5:in `block (2 levels) in <top (required)>'

ここに私の password_reset_spec.rb があります:

require 'spec_helper'

describe "PasswordResets" do
  it "emails user when requesting password reset"
    user = FactoryGirl.create(:user)
    visit login_path
    click_link "password"
    fill_in "Email", :with => user.email
    click_button "Reset Password"
  end

factory.rb:

FactoryGirl.define do
  factory :user do
  f.sequence :email do |n| "foo#{n}@example.com"
  end
  f.password "secret"
end
end

宝石ファイル:

gem 'rspec-rails', :group => [:test, :development]
group :test do
  gem 'factory_girl'
  gem 'capybara'
  gem 'guard-rspec'
  gem 'rb-fsevent'
end
4

1 に答える 1

0

工場宣言の構文が正しくありません。次のようなものを使用します。

FactoryGirl.define do
  factory :user do
    sequence(:email) { |n| "foo#{n}@example.com" }
    password "secret"
  end
end
于 2013-03-05T15:33:29.787 に答える