当我通过rake运行任何rspec任务时,数据库似乎被删除和迁移,但是如果我通过script/spec path/to/spec运行它们,它不会'吨。有没有我可以设置的选项,以便rake规格不会触及数据库?“rake spec”每次都迁移数据库
0
A
回答
1
它不应该运行任何迁移,只会将db/schema.rb导入到您的测试数据库中。这是预期的行为,因此您的测试在运行之前使用数据库模式的全新副本。你不想刷新测试数据库的理由是什么?
1
对于我所做的事我想永久关闭它。所以使用RSpec 2.5.0和轨道3:
复制rspec.rake到您的应用程序/ lib目录/文件夹任务从:
~/.rvm/gems/ruby-1.8.7-p302/gems/rspec-rails-2.5.0/lib/rspec/rails/tasks/rspec.rake
这个添加到文件的顶部:
Rake::TaskManager.class_eval do
def remove_task(task_name)
@tasks.delete(task_name.to_s)
end
end
def remove_task(task_name)
Rake.application.remove_task(task_name)
end
remove_task 'spec'
查找和编辑此行强制空操作:
spec_prereq = :noop #Rails.configuration.generators.options[:rails][:orm] == :active_record ? "db:test:prepare" : :noop
0
我在命令行中运行rspec的时候也有过同样的问题。在我的情况下,我正在处理一个没有迁移的遗留数据库,所以测试会失败,因为迁移无法运行。
的解决方案是编辑规范/ spec_helper.rb文件并删除以下行:
ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)
之后的测试运行,没有失败。
相关问题
- 1. rake在rake数据库后迁移db:migrate
- 2. rake在迁移数据库时中止
- 3. Ruby数据库迁移错误'rake db:migrate'
- 4. Rails迁移 - rake db:status表示迁移已关闭,但数据库已迁移?
- 5. Rake数据库待迁移的Rails数据库:test:prepare
- 6. Heroku Rake迁移
- 7. 代码第一次数据库迁移
- 8. 数据库迁移问题
- 9. 运行Heroku rake db:在Heroku上迁移不会迁移数据库
- 10. 从RSpec迁移到Minitest :: Spec?
- 11. 数据库迁移
- 12. 数据库迁移
- 13. 数据库迁移
- 14. 数据库迁移
- 15. 进行rake数据库迁移的备份。和命令拒绝耙数据库:迁移耙中止
- 16. 数据库数据迁移
- 17. rake db:迁移postgreSQL
- 18. 重新运行Heroku上的所有数据库迁移(rake db:migrate:reset)
- 19. Rake db:针对现有数据库迁移
- 20. Rails rake db:迁移最近创建的数据库
- 21. Heroku在Rake数据库后崩溃:迁移
- 22. 迁移数据库时rake中止错误
- 23. Rake数据库迁移失败,出现“undefined method`double”
- 24. rake db:迁移清除我的数据库
- 25. 新部署到生产,Rake数据库:迁移失败
- 26. 无法创建耙数据库迁移
- 27. Rails迁移后的数据库重置
- 28. Postgresql和devise数据库迁移失败
- 29. Rails + PostGIS错误迁移数据库
- 30. Heroku上的二级数据库上的数据库迁移
有没有办法禁用?无论出于何种原因,该项目的开发人员决定不使用rails migrations来管理数据库,因此导入schema.rb不是有效的选项。 – AdamB 2010-11-10 04:06:55
如果您有rspec.rake任务,请查找包含db:test的行:准备并注释掉它。这应该防止它尝试加载模式。没有模式,你打算如何构建测试数据库? – 2010-11-10 04:40:01
这个伎俩,谢谢! – AdamB 2010-11-10 18:34:19