4

私は簡単な問題に遭遇しました。user_spec ページで「undefined method `Factory'」が表示されます。「let(:user) { Factory(:user) }」の構文が間違っていると思います。しかし、私は機能するものを思い付くことができません。

Failure/Error: let(:user) { Factory(:user) }
     NoMethodError:
       undefined method `Factory' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fc7ac31e6a8>

誰かが私のコードを見て助けてくれれば、パスワードのリセットのテストがほぼ完了したので、それをいただければ幸いです。

user_spec.rb:

require 'spec_helper'

describe User do
  describe "#send_password_reset" do
    let(:user) { Factory(:user) }

    it "generates a unique password_reset_token each time" do
      user.send_password_reset
      last_token = user.password_reset_token
      user.send_password_reset
      user.password_reset_token.should_not eq(last_token)
    end

    it "saves the time the password reset was sent" do
      user.send_password_reset
      user.reload.password_reset_sent_at.should be_present
    end

    it "delivers email to user" do
      user.send_password_reset
      last_email.to.should include (user.email)
    end
  end
end
4

2 に答える 2

8

ファクトリーガールの方法は次のとおりです。

let(:user) { FactoryGirl.create(:user) }
于 2013-03-06T14:29:56.243 に答える
7

に置き換えFactoryFactoryGirl、あいまいさを取り除き、便利なFactory名前空間を利用できるように変更しました。

于 2013-03-06T14:11:36.583 に答える