使用Rails 4.1.x在rails项目中从Rspec 2.x升级到3.x.
当我运行RSpec时,我发现了一个非常奇怪的行为。这是事件的顺序。
完全迁移了测试环境和普通环境。我测试一下。
我使用命令$ rspec
然后我可以检查我的迁移,这是结果(仅供测试,生产不会认为它会导致迁移失败):
我无法理解为什么这会导致我的所有迁移失败。也许它也会有所帮助:如果我再次尝试迁移测试,我会收到此错误:
首先,为什么会放弃所有迁移?它实际上并没有放弃它们,它们仍然在那里 - 因为桌子都还在那里。
[1]:
答案 0 :(得分:0)
Rspec 3 has a new feature利用rails 4.1+中的更新,自动保持开发和测试模式同步。因此,这意味着如果您已在开发中运行迁移,则无需再次使用RAILS_ENV=test
运行它们。您可以通过查看rails_helper.rb
并查看是否已设置ActiveRecord::Migration.maintain_test_schema!
来仔细检查是否已启用此功能(Rspec 3默认设置)功能。