在我的Rails3.2应用程序中,我使用spork和guard来加速测试套件。然而,在添加新的迁移之后,guard中的测试表现得很奇怪:即使我之前运行过rake db:migrate,它们的行为也好像不知道模式中的变化一样。当我停止守卫并运行rake spec时,它们开始正常运行。我认为它是这样运行的,因为spork/guard在测试之前不会更新模式。是否可以在#prefork上配置spork以更新模式,并在模式更改时保护以重新加载spork?
发布于 2013-01-29 04:16:31
您需要运行rake db:test:prepare才能将迁移应用于测试环境。
发布于 2013-04-25 12:15:05
从理论上讲,每次运行测试时,下面的默认Spork设置代码都应该重新加载模式。你拿到了吗?
ActiveRecord::Schema.verbose = false
silence_stream STDOUT do
load Rails.root.join('db', 'schema.rb') # use db agnostic schema by default
load Rails.root.join('db', 'seeds.rb')
endhttps://stackoverflow.com/questions/14562639
复制相似问题