Ich entwickle eine Rails-Anwendung mit Rspec für Komponententests.
Vor Wochen hat Rspec die Datenbank beim Ausführen von 'rake spec' automatisch auf die letzte Version migriert, aber jetzt macht es das nicht automatisch, ich muss alles für mich selbst implementieren.
Dies passiert in der Testumgebung, weil meine Entwicklungsdaten nicht verschwinden.
Ist meine Schuld? Ich habe nichts geändert, denke ich:)
Vielen Dank im Voraus.
Normalerweise verwende ich einen Alias-Befehl, der sowohl migriert als auch die Testdatenbank vorbereitet.
%Vor%Erstellen Sie in Ihrer .bashrc einfach einen Alias-Befehl wie diesen und führen Sie migrate_databasts dann aus, wann immer Sie möchten.
%Vor%Meine Lösung für Rails 4:
in spec/spec_helper.rb
oder irgendwo in der Testumgebung Initialisierungscode:
UPD: Wie Dorian freundlicherweise in Kommentaren hervorgehoben hat, müssen Sie nicht separat prüfen, ob Migrationen ausstehen, weil ActiveRecord::Migrator.migrate
dies bereits hinter den Kulissen tut. So können Sie effektiv nur diese eine Zeile verwenden:
Rails 4.1 Weiterleiten können Sie verwenden:
%Vor% Fügen Sie oben in Ihrem spec_helper.rb
oder rails_helper.rb
hinzu und Sie können loslegen. Mehr Informationen hier .
Tags und Links ruby-on-rails rspec