2011-09-20 1 views
0

Ruby on Rails 3.0.9, RSpec-rails 2 및 FactoryGirl을 사용하고 있습니다. 연결 모델 (이 예제에서는 :account)에서 RSpec its 기능을 사용하려고하는데 몇 가지 문제가 있습니다. 내 스펙 파일에서RSpec 'its'기능을 사용하는 데 문제가 있습니다.

내가 가진 :

describe User do 
    describe "Associations" do 
    let(:user) { Factory(:user, :account => Factory.build(:users_account)) } 

    it { should respond_to(:account) } # This work correctly 

    its(:account) { should_not be_nil } # This does NOT work correctly (read below for more information) 
    end 
end 

나는 다음과 같은 오류가 위의 코드를 실행하면 : 나는 위의 코드를 만들 수있는 방법

Failure/Error: its(:account) { should_not be_nil } 
    expected: not nil 
    got: nil 

지금까지 제대로 작동하려면 RSpec its 기능을 사용 하시겠습니까?

답변

1

(: users_account) 뒤에 ')'이 누락되었습니다. 그 잘 모르겠어요,하지만 당신은 주제를 사용하려고 대신 같은에서 할 수 너머

,

subject { Factory.build(:user, :account => Factory.build(:users_account)) } 
+0

는하지만, 주제와, 역시'let' 사용할 수 있습니다'대상 {사용자} ' – iain

+0

@Iain - "let도 사용할 수 있지만 subject는 ..."- let을 사용하여 완전한 예제를 만들 수 있습니까? – user502052

+1

@ user502052 Lain은 원래 asker가'let (: user) {...}'을 실행 한 후 'subject {user}'를 실행하기 만하면됩니다. – cbron