2011-09-19 1 views
0
내가 루비를 사용하고

(적은 코드와 유사한 User 클래스 개체를 테스트하기 위해 속성 값) :여러 클래스 개체 인스턴스를 사용하는 데 문제가 있습니까? 레일 3.0.9과 RSpect 나는 다음과 같은 방법으로 일부 사양 파일을 리팩토링에 노력하고 2.

let(:user1) { Factory(:user, :users_attribute_a => 'invalid_value') } 
let(:user2) { Factory(:user, :users_attribute_b => 'invalid_value') } 
let(:user3) { Factory(:user, :users_attribute_c => 'invalid_value') } 

[ user1, user2, user3 ].each do |user| 
    ... 
end 

undefined local variable or method `user1' for #<Class:0x00000103ddb158> (NameError) 

문제가 무엇입니까 : 나는 위의 테스트를 실행한다면, 나는 다음과 같은 오류가 발생합니다? 어떻게 해결할 수 있습니까?

답변

0

당신은 "이"

describe User do 

    let(:user1) { Factory(:user, :users_attribute_a => 'invalid_value') } 
    let(:user2) { Factory(:user, :users_attribute_b => 'invalid_value') } 
    let(:user3) { Factory(:user, :users_attribute_c => 'invalid_value') } 

    it "should be whatever" do 

    [ user1, user2, user3 ].each do |user| 
     ...  
    end 

    end 
end 
+0

감사를 블록의 내부에 예제 코드가 필요하지만, 지금은 또 다른 문제가 있습니다 http://stackoverflow.com/questions/7475386/trouble-on-setting- 현재 피사체 – Backo