MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como fazer o teste de banco de dados adequado (TDD) no Rails 3 usando MongoDB e Mongoid


Ok, graças a Kyle, que me indicou a direção certa, descobri como fazê-lo funcionar.

Então, basicamente, o truque é descartar todas as suas coleções no mongodb para cada caso de teste que você executará. Isso é um pouco radical, mas funciona. Mas lembre-se de que você não reterá nenhum dado em seu banco de dados de teste.

Finalmente encontrei esse link:http://adventuresincoding.com/2010/07/how-to-configure-cucumber-and-rspec-to-work-with-mongoid

E basicamente o que você precisa fazer é simples:

adicione um bloco em seu 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

Isso efetivamente mata toda a coleção dentro do banco de dados, permitindo que você execute seus testes sempre atualizados.

Alex