sql >> Databáze >  >> NoSQL >> MongoDB

Jak provést správné testování databáze (TDD) na Rails 3 pomocí MongoDB a Mongoid

Díky Kyleovi, který mě ukázal správným směrem, jsem zjistil, jak to udělat.

V zásadě je tedy trikem zahodit všechny své sbírky do mongodb pro každý testovací případ, který spustíte. Je to trochu radikální, ale funguje to. Ale mějte na paměti, že ve své testovací databázi neuchováte vůbec žádná data.

Nakonec jsem našel tento odkaz:http://adventuresincoding.com/2010/07/how-to-configure-cucumber-and-rspec-to-work-with-mongoid

A v podstatě to, co musíte udělat, je jednoduché:

přidejte do sebe blok 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

Pro Mongoid 3:

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

To efektivně zabíjí veškerou kolekci v db, což vám umožní spouštět vaše testy pokaždé znovu.

Alex



  1. Chyba jemalloc/jemalloc.h:Žádný takový soubor nebo adresář při vytváření Redis

  2. mongodb se zhroutí po neočekávaném vypnutí

  3. Dotazování na existenci vnořeného seznamu v Mongo

  4. Jak zkopírovat kolekci z jedné databáze do druhé v MongoDB