2016-08-08 51 views
1

Ich habe eine spezielle Anforderung zum Ausführen der RSpec-Skripts durch Bereitstellen der Konfigurationsdatei während der Laufzeit.So führen Sie RSpec-Skripts mit benutzerdefinierten Argumenten aus

RSpec nicht zulässt, dass Sie die benutzerdefinierten Argumente durch Befehlszeile mit Ausnahme der vordefinierten diejenigen wie liefern „--tag, --format, --output etc ..“

gibt es eine Abhilfe dafür?

Antwort

1

Nach viel in über verschiedene Online-Ressourcen und Stackoverflow zu graben, ich habe eine Abhilfe für dieses gefunden:

Durch die Verwendung von dotenv Juwel, können Sie dies erreichen.

Installieren Sie den dotenv

$ gem install dotenv 

.env Datei im Testskript-Ordner mit Ihren eigenen Argumente als „Schlüssel = Wert“ -Paare erstellen, zB:

CONFIG_FILE=test_config.yaml 

die Werte als Umgebung lesen Variablen in Ihrer Spezifikationsdatei

require 'dotenv' 
Dotenv.load 

describe "Passing Arguments" do 
    before(:all) do 
    @configFile = ENV['CONFIG_FILE'] 
    end 

    it "Initiating Device config" do 
    puts "Using device config file #{@configFile}" 
    end 
end 

Jetzt lesen Sie den Namen der Konfigurationsdatei als Umgebung Variable in Ihren Test-Scrips.