【问题标题】:Database issues when using RSpec for testing使用 RSpec 进行测试时的数据库问题
【发布时间】:2013-09-01 08:41:54
【问题描述】:

我正在开发一个 Ruby on Rails 项目并试图让 RSpec 正常工作,以便我可以编写一些测试。我运行以下命令:

bundle exec rspec spec/

运行我的测试。然后我得到错误

 Migrations are pending; run 'rake db:migrate RAILS_ENV=test' to resolve this issue.

然后我运行

rake db:migrate RAILS_ENV=test

并得到以下错误

任何帮助将不胜感激!

【问题讨论】:

  • 试试rake db:test:prepare ?
  • 尝试创建一个空的测试数据库并再次运行迁移。您似乎与索引有冲突。
  • @DamienRoche 谢谢!如果您愿意,可以将其移至答案,以便我接受它,并给您一些声誉积分!
  • 很高兴听到!会的。

标签: ruby-on-rails database rspec rake rails-migrations


【解决方案1】:

根据您的 Rails 版本,这篇文章可能会有所帮助:Rake db:test:prepare task deleting data in development database

Rails 3.2.9 可能会解决您的问题。

【讨论】:

    【解决方案2】:

    该错误具有误导性。您永远不应该直接在您的测试数据库上运行迁移。运行:

    rake db:test:prepare
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      相关资源
      最近更新 更多