Ok, grazie a Kyle che mi ha indicato la giusta direzione, ho scoperto come farlo funzionare.
Quindi, in pratica, il trucco è eliminare tutte le tue raccolte in mongodb per ogni test case che eseguirai. Questo è un po' radicale, ma funziona. Ma tieni presente che non conserverai alcun dato nel tuo db di prova.
Alla fine ho trovato quel link:http://adventuresincoding.com/2010/07/how-to-configure-cucumber-and-rspec-to-work-with-mongoid
E fondamentalmente quello che devi fare è semplice:
aggiungi un blocco in te 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
Per Mongoid 3:
Mongoid.default_session.collections.select {|c| c.name !~ /system/ }.each(&:drop
Questo uccide efficacemente tutta la raccolta all'interno del db permettendoti di eseguire i tuoi test ogni volta.
Alessio