MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment effectuer des tests de base de données appropriés (TDD) sur Rails 3 en utilisant MongoDB et Mongoid

Ok merci à Kyle qui m'a orienté dans la bonne direction, j'ai trouvé comment le faire fonctionner.

Donc, fondamentalement, l'astuce consiste à déposer toutes vos collections dans mongodb pour chaque cas de test que vous exécuterez. C'est un peu radical, mais ça marche. Mais gardez à l'esprit que vous ne conserverez aucune donnée dans votre base de données de test.

Enfin, j'ai trouvé ce lien :http://adventuresincoding.com/2010/07/how-to-configure-cucumber-and-rspec-to-work-with-mongoid

Et fondamentalement, ce que vous devez faire est simple :

ajoutez un bloc dans votre 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

Pour Mongoid 3 :

 Mongoid.default_session.collections.select {|c| c.name !~ /system/ }.each(&:drop

Cela tue efficacement toute la collection dans la base de données, ce qui vous permet d'exécuter vos tests à nouveau à chaque fois.

Alexandre