2011-09-27 3 views
2

이 작동하지 않는 내 사양 코드 :기계적 객체가 중첩 된 블록 내부에 저장하지 않는 이유는 무엇입니까?

require 'spec_helper' 

describe User do 
    describe "blah" do 
    it "should save itself" do 
     user = User.make! 
     u = User.find user.id 
     user = User.make! 
     u = User.find user.id 
    end 
    end 
end 

사양은 해당 사용자 개체 ID를가더라도 2 User.find에 실패합니다.

'설명'blah 'do'블록을 제거하면 코드가 제대로 작동하는 것 같습니다. 나는 기계공 2.0.0.beta2를 사용하고 있습니다. 내 test.rb 설정 파일에 기계공 캐싱을 사용하지 않도록 설정하면

또한 작동합니다

Machinist.configure do |config| 
    config.cache_objects = false 
end 

누구나 알고 내가 잘못 여기서 뭘하는지? 스펙에 여러 설명을 중첩하는 것은 나쁜 습관입니까?

감사

답변

1

이것은 또한 작동합니다은 :

u = User.make 
u.save 

나는 기계공을 사용하여이 버그에 모든 시간을 실행합니다. 나는 그것이 중첩 묘사에 독점이라고 생각하지 않는다. 그것은 다른 상황에서도 나타난다. 정말로 그들이 이것을 고치기를 바란다. 추적하기 어려운 겉보기에 임의의 오류가 발생합니다.