如何使用Mongoid驱动在Rails测试环境中启用Mongo索引?

问题描述 投票:0回答:2

我有一个像这样的 MongoId 模型:

module Acme
  class Account
    include Mongoid::Document
    include Mongoid::Timestamps

    field :username

    index({'username': 1}, {unique: true})
  end
end

我想编写一些单元测试,但我希望在我的测试套件中创建此类模型时启用此索引。

好像默认没有启用索引。

有什么线索吗?

附注我正在使用 mongoid gem 开发 Rails 4:

5.1.3

mongodb unit-testing ruby-on-rails-4 mongoid mongoid5
2个回答
0
投票
Acme::Account.create_indexes

将创建索引。所以你可以在测试中调用它。例如在

before :each
before :suite
块中。


0
投票

在我的例子中,我像这样配置索引:

RSpec.configure do |config|
  config.before(:all, index: true) do
    Model.remove_indexes
    Model.create_indexes
  end
end

将其添加到正在尝试使用索引的测试用例中。

context 'indexing', index: true do;end

我认为它很方便,因为几乎我的测试用例并不真正需要索引

© www.soinside.com 2019 - 2024. All rights reserved.