2016-07-22 32 views
0

我正在升級我的應用程序到Rails 5的過程中 當啓用rails 5運行測試時,我開始得到「LocalJumpError:no給定(收益率)」的幾個對象創建的句子是這樣一個塊:FactoryGirl.create問題「LocalJumpError:沒有塊給出(yield)」與Rails 5

let!(:entity) { create(:entity) } 

這開始發生後,我升級到Rails 5.0.0 我試圖用建立,而不是在該行創建和錯誤沒有按」 t出現在這種情況下。

有沒有人有類似的問題?

我的實體工廠是這個:

FactoryGirl.define do 
    factory :entity do 
    entity_type 'A' 
    account { create(:account) } 
    ilk [] 
    after(:build) do |entity| 
     entity.names << build(:name) 
     entity.addresses << build(:address) 
    end 

    trait :incomplete do 
     incomplete true 
    end 
    end 

我的Gemfile看起來是這樣的:https://jpst.it/Lb6N

編輯

我發現這個問題是不是與FactoryGirl但Mongoid寶石。我爲該項目在JIRA上開了一張票。這裏是鏈接,但你需要有一個帳戶可以訪問JIRA的Mongoid項目:https://jira.mongodb.org/browse/MONGOID-4302

該票的詳細信息是通過運行rspec -b查看跟蹤,我確定了這一行上的問題在mongoid寶石:

https://github.com/mongodb/mongoid/blob/master/lib/mongoid/clients/options.rb#L25

的問題,如果我替換該行(產自)消失只:

我不知道但是如果這個我是個可行的修復,所以我開了前面提到的獲得mongoid的反饋,看看有什麼可以做的票。

當我收到任何反饋時,我會再次更新。

回答

0

大量的調試後,我發現在mongoid_token寶石,這是造成這個奇怪的問題的地方叉問題的根源。 Mongoid和FactoryGirl寶石不涉及這個問題,既不是原始mongoid令牌寶石。