私を正しい方向に向けてくれたカイルのおかげで、それを機能させる方法を見つけました。
したがって、基本的には、実行するテストケースごとにすべてのコレクションをmongodbにドロップするのがコツです。これは少し過激ですが、機能します。ただし、テストデータベースにはデータがまったく保持されないことに注意してください。
最後に、そのリンクを見つけました: http://adventuresincoding.com/2010/07/how-to-configure-cucumber-and-rspec-to-work-with-mongoid
そして基本的にあなたがする必要があるのは簡単です:
あなたにブロックを追加しますspec_helper.rb:
RSpec.configure do |config|
# blabla other confs
config.before :each do
Mongoid.master.collections.select {|c| c.name !~ /system/ }.each(&:drop)
end
# blabla other confs
end
Mongoid 3の場合:
Mongoid.default_session.collections.select {|c| c.name !~ /system/ }.each(&:drop
これにより、データベース内のすべてのコレクションが効果的に強制終了され、毎回新しいテストを実行できるようになります。
アレックス