1

我使用 spork 和 guard 来加速我的 Rails 3.2 应用程序中的测试套件。然而,在添加新迁移后,guard 中的测试表现得很奇怪:即使我之前运行rake db:migrate过,它们也表现得不知道模式的变化。当我停止守卫并跑步时,它们开始表现正常rake spec。我想它的行为方式是这样的,因为 spork/guard 在测试之前不会更新架构。是否可以配置 spork 以更新模式#prefork并保护以在模式更改时重新加载 spork?

4

2 回答 2

3

您需要运行rake db:test:prepare以应用迁移以用于测试环境。

于 2013-01-28T20:16:31.017 回答
0

理论上,以下默认 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')
  end
于 2013-04-25T04:15:04.520 回答