运行我的所有规格时出现问题。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