2016-08-25 4 views
0

Ich habe Mühe, die günstigste Lösung für die Umgebungsspezifizierung zu finden, wenn Tests über die Befehlszeile ausgeführt werden. Im Idealfall würde Ich mag Umgebungen in einer Datei zB angegeben haben:Umgebungen beim Ausführen von Tests festlegen

dev = 'http://dev.com' 
staging = 'http://staging.com' 

Soweit ich weiß, ist es nicht möglich, benutzerdefinierte Parameter in rspec wie folgt zu verwenden:

rspec tests --env 'dev' 

die Hauptfrage So Was wären die besten Praktiken zum Einrichten und Ändern von Umgebungen beim Starten der Testsuite?

+0

Hmm das sieht aus wie Sie Tests laufen gegen ein externes System. Darf ich vorschlagen, eine Bibliothek wie [webmock] (https://github.com/blbke/webmock) zu verwenden? – mhutter

Antwort

0

Der übliche Weg dazu wäre eine Umgebungsvariable.

TEST_ENV=dev rspec tests 

und dann in Ihrem Test-Setup können Sie ENV['TEST_ENV'] bestimmen zugreifen, welche Einstellungen Sie verwenden möchten - (Wenn Schienen die Umgebungsvariable mit RAILS_ENV zu verwenden wäre)

Verwandte Themen