Migrations und Rspec

7

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.

    
pablorc 24.05.2010, 15:29
quelle

6 Antworten

14

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%     
Nick Hammond 03.06.2010, 05:41
quelle
7

Meine Lösung für Rails 4:

in spec/spec_helper.rb oder irgendwo in der Testumgebung Initialisierungscode:

%Vor%

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:

%Vor%     
Hnatt 11.03.2014 09:14
quelle
5

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 .

    
lobati 15.01.2015 19:57
quelle
1

Hier ist meine Problemumgehung:

Rakefile:

%Vor%

Dann starte ich $ rake run_specs

Aus irgendeinem Grund ist die Standardaufgabe nicht auf run_specs

voreingestellt     
Macario 14.04.2011 07:26
quelle
0

Sehen Sie, ob Sie folgendes in Ihrem spec_helper.rb haben? Jedes Mal, wenn Sie Spezifikationen ausführen, überprüft RSpec, ob ausstehende Migrationen vorhanden sind.

%Vor%     
Ananth 29.09.2014 09:04
quelle
0

Dies funktioniert auch, wenn Rails nicht geladen ist und nur eine einzige SQL-Abfrage durchführt.

%Vor%     
Dorian 02.10.2014 19:10
quelle

Tags und Links