Wir haben ein großes Multi-Entwickler-Projekt unter Rails, in dem wir Tests für beide Modelle und Controller verwenden. Im Moment müssen die Entwickler die DB-Parameter für die "Test" -Umgebung vor dem Ausführen von Tests auf ihre lokalen Entwicklungsumgebungen einstellen. Ich frage mich, ob es eine Möglichkeit gibt, diese Tests in einer anderen Umgebung als "Test" auszuführen?
Zum Beispiel haben wir in database.yml:
%Vor%Ich kann in den Unterlagen nichts finden, aber vielleicht schaue ich an die falsche Stelle. Irgendwelche Ideen?
Danke!
Im Moment funktioniert das immer noch nicht. Ich habe ein Problem eingereicht: Ссылка .
Ich werde diese Antwort mit Updates bearbeiten
Es muss lediglich die Umgebung explizit angegeben werden, wenn Sie die Tests ausführen. Sie brauchen nur ein paar Vorbereitungen im Voraus.
Sagen Sie, Ihre neue Umgebung wird "testjohn" heißen (vermutlich für einen Entwickler namens John). Dann:
1- Kopieren Sie config / environments / test.rb nach config / environments / testjohn.rb
2- Fügen Sie die entsprechende DB-Zeilengruppe zu config / database.yml hinzu (kopieren Sie sie aus der Testzeilengruppe, benennen Sie sie um und ändern Sie dann vermutlich den Datenbanknamen, das Passwort und andere Daten). Mein (eher vereinfachendes) Beispiel verwendet dies:
%Vor%3- Führen Sie Ihre Tests wie folgt aus:
%Vor%Übrigens, da RAILS_ENV nur eine Umgebungsvariable ist, haben Sie vielleicht ein Skript, das es vorher setzt, oder sogar jeden Entwickler, der seine eigene RAILS_ENV-Variable in seiner .profile oder einer anderen Datei konfiguriert. Auf diese Weise führen sie einfach rake test: units aus und testen automatisch in ihrer personalisierten Umgebung.
Tags und Links unit-testing ruby-on-rails testing