運行我的所有規格時出現問題。Rack ::測試導致ActiveRecord :: AssociationTypeMismatch
ActiveRecord::AssociationTypeMismatch: Affiliate(#2154746360) expected, got Affiliate(#2199508660)
這似乎是我的模型被加載兩次。
我已經隔離了用Rack :: Test的要求來定義一個「app」方法的問題。
require 'rack/test'
include Rack::Test::Methods
# app method is needed for rack-test
def app
Rails.application
end
如果我註釋掉Rails.application
我機架規格不工作,但我所有的其他規格的正常工作。在「應用」方法中使用Rails.application
會引入上述錯誤。
如果我單獨運行我的規格,一切正常。我正在用Spork預加載我的環境,我認爲這些模型先由Spork加載,然後在我的「應用程序」方法中調用Rails.application
時重新定義它們。
關於如何解決此問題的任何想法?我不確定是否有另一種方法來在「應用程序」方法中設置我的Rails應用程序。
我們已經遇到了完全相同的問題,並且在確定這個問題時相當不成功。你有沒有運氣? – 2011-04-29 13:32:34
好像在這個問題上的factory_girl Google Group上有一些操作:http://groups.google.com/group/factory_girl/browse_thread/thread/daa24556d90c31fc – 2011-04-29 17:06:15
邁克爾,到目前爲止我還沒有任何運氣。我剛剛避免使用我的其他規格運行違規規格。這是一個痛苦。 – 2011-05-04 00:40:36