sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan laver du korrekt databasetest (TDD) på Rails 3 ved hjælp af MongoDB og Mongoid

Ok tak til Kyle, der pegede mig i den rigtige retning, jeg fandt ud af, hvordan man får det til at fungere.

Så dybest set er tricket at droppe alle dine samlinger i mongodb for hver testcase, du vil køre. Det er lidt radikalt, men det virker. Men husk på, at du ikke vil beholde nogen data overhovedet i din testdb.

Endelig fandt jeg det link:http://adventuresincoding.com/2010/07/how-to-configure-cucumber-and-rspec-to-work-with-mongoid

Og dybest set, hvad du skal gøre er simpelt:

tilføje en blok i din 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

For Mongoid 3:

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

Dette dræber effektivt hele samlingen i db'en, så du kan køre dine tests frisk hver gang.

Alex



  1. Indlejrede kommentarer i MongoDB

  2. Skema er ikke blevet registreret for model. Mongodb>Mangust

  3. Hvad er nyt i MongoDB 4.4

  4. Godkendelse mislykkedes ved brug af flask_pymongo