2013-03-06 2 views
3

Я столкнулся с быстрой проблемой. Я получаю «неопределенный метод« Factory »для страницы user_spec. Я считаю, что у меня неправильный синтаксис для «let (: user) {Factory (: user)}». Однако я не могу придумать тот, который работает.undefined method `Factory 'on user_spec

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 

ответ

8

метод Factory Девочка следующее:

let(:user) { FactoryGirl.create(:user) } 
+0

это право, +1 – apneadiving

+0

Спасибо. Все тесты проходят сейчас! – pwz2000

+0

Блестящий! Рад, что смог помочь. – PericlesTheo

7

Заменить Factory с FactoryGirl, они изменили, что для удаления двусмысленности и позволить полезным Factory имен доступны.

+0

Я сделал, что до размещения здесь. Это приводит к той же ошибке. – pwz2000

+0

- ваш драгоценный камень в тестовой среде? – apneadiving

+0

Да. Он прошел другие тесты, поэтому я не верю в его драгоценный камень. – pwz2000