sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo hacer una prueba de base de datos adecuada (TDD) en Rails 3 usando MongoDB y Mongoid

Ok, gracias a Kyle, quien me indicó la dirección correcta, descubrí cómo hacerlo funcionar.

Entonces, básicamente, el truco es dejar caer todas sus colecciones en mongodb para cada caso de prueba que ejecutará. Esto es un poco radical, pero funciona. Pero tenga en cuenta que no retendrá ningún dato en su base de datos de prueba.

Finalmente encontré ese enlace:http://adventuresincoding.com/2010/07/how-to-configure-cucumber-and-rspec-to-work-with-mongoid

Y básicamente lo que tienes que hacer es simple:

agrega un bloque en tu 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

Esto elimina efectivamente toda la colección dentro de la base de datos, lo que le permite ejecutar sus pruebas cada vez.

Álex