Wie würde das Schreiben von richtigen Komponententests (und Integrationstests für diese Angelegenheit) mit MongoDB über Mongoid on Rails gehen?Wie richtige Datenbank-Tests (TDD) auf Rails 3 mit MongoDB und Mongoid
Ich frage, weil auf das Gegenteil der Verwendung von sagen wir SQLite3, selbst wenn Tests ausgeführt werden, bleibt alles, was ich tue, bestehen. Im Moment schreibe ich den Kreationstest und lösche dann manuell alles, was ich mache. Aber es wird nervig und sogar kompliziert für Integrationstests.
Probe von dem, was ich tue:
before(:each) do
@user = User.create!(@attr)
end
after(:each) do
# MongoDB is not a transactional DB, so added objects (create) during tests can't be rollbacked
# checking for the existance of a similar object with exact :name and :email (regex make it case insensitive)
cleanup = User.where(:name => "Example User", :email => /^[email protected]/i)
cleanup.destroy unless cleanup.nil?
end
Jede Idee, wie MongoDB nicht persistent im Test zu machen? (Ich kann die Konsole nicht einmal im Sandbox-Modus laufen lassen, da ich Mongoid deaktivieren musste, um Active Record zu deaktivieren).
Danke, das ist, was ich hatte Angst vor ... Gut Link aber ich dachte, dass ich durch die komplette mongoDB Seiten gelesen haben, aber anscheinend noch nicht :) Ich werde diese Lösung versuchen, um zu vermeiden, dass ich jedes Mal, wenn ich den Test schreibe, manuellen Code hinzufügen muss. – Alex