ruby-on-rails – 使用新的Rails / MongoID应用程序配置RSpec

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 使用新的Rails / MongoID应用程序配置RSpec前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开始一个新的应用程序,并注意到我上次从头开始构建MongoID应用程序时缺少一些文档.也就是说,他们曾经在一个不再存在的页面上建议( http://mongoid.org/docs/integration/)包含一些代码删除MongoID的集合(在测试之后).

它现在不再在网站上提到了…这个(下面的****)不再被视为必要或良好的做法了吗?!?

#spec/spec_helper.rb:
...
RSpec.configure do |config|

  config.mock_with :rspec

  # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
  #config.fixture_path = "#{::Rails.root}/spec/fixtures"

  # If you're not using ActiveRecord,or you'd prefer not to run each of your
  # examples within a transaction,remove the following line or assign false
  # instead of true.
  #config.use_transactional_fixtures = true

  # Below from <http://mongoid.org/docs/integration/>  ****
  config.after :suite do
    Mongoid.master.collections.select do |collection|
      collection.name !~ /system/
    end.each(&:drop)
  end
end

解决方法

修改文件spec / spec_helper.rb以添加以下内容
RSpec.configure do |config|
  # Other things

  # Clean up the database
  require 'database_cleaner'
  config.before(:suite) do
    DatabaseCleaner.strategy = :truncation
    DatabaseCleaner.orm = "mongoid"
  end

  config.before(:each) do
    DatabaseCleaner.clean
  end
end
原文链接:https://www.f2er.com/ruby/271048.html

猜你在找的Ruby相关文章