Nettoyez ou réinitialisez la base de données de test avec Rspec et MongoID sur Rails 3
Quand je lance mes tests rspec, beaucoup d'échouer en raison de données obsolètes dans ma base de données mongodb. Autant que je sache, il est de loin préférable de tester avec un nettoyage de la base de données.
Avec mysql, j'ai pu courir rake db:test:prepare
pour nettoyer la base de données. Comment puis-je nettoyer nd/ou la réutilisation des semences de la base de données avant chaque test?
source d'informationauteur berkes
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez MongoID vous pouvez utiliser Nettoyeur De Base De Données avec Troncature stratégie. E. g.:
Ni l'un ni l'autre des réponses de travail pour moi avec Mongoid 3.0. J'ai utilisé @Batkins réponse modifiée comme
Alternativement, si vous souhaitez vider la collection, mais ne veulent pas le faire tomber (peut-être que vous avez d'indices ou de quelque chose), cela
À mon humble avis, C'est beaucoup plus agréable solution que d'installer un bijou pour le but spécifique de nettoyage de votre base de données.... 3 lignes pour aller dans votre spec_helper.rb.rb:
De crédit: Un utilisateur nommé Alex a posté cela comme une solution à une question similaire.
Dans Mongoid v2.0.2
Rdoc: Mongoid.purge!
ajouter au gemfile:
exécuter
bundle install
ajouter à votre spec_helper.rb:
pleine de crédit à la:
http://blog.codelette.com/2013/07/07/make-rspec-clean-up-mongoid-records/