Ok, graças a Kyle, que me indicou a direção certa, descobri como fazê-lo funcionar.
Então, basicamente, o truque é descartar todas as suas coleções no mongodb para cada caso de teste que você executará. Isso é um pouco radical, mas funciona. Mas lembre-se de que você não reterá nenhum dado em seu banco de dados de teste.
Finalmente encontrei esse link:http://adventuresincoding.com/2010/07/how-to-configure-cucumber-and-rspec-to-work-with-mongoid
E basicamente o que você precisa fazer é simples:
adicione um bloco em seu 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
Para Mongoide 3:
Mongoid.default_session.collections.select {|c| c.name !~ /system/ }.each(&:drop
Isso efetivamente mata toda a coleção dentro do banco de dados, permitindo que você execute seus testes sempre atualizados.
Alex