2017-07-26 5 views
7

Ich verwende Angular Umgebungsvariablen configure API endpoints auszuführen:Wie Protractor e2e Tests mit unterschiedlichen Winkelumgebungsvariablen

.\src\environments: 
    environment.ts 
    environment.test.ts 
    environment.prod.ts 

Die environtment Dateien enthalten Einstellungen wie die folgenden, die unterschiedlich sind für die lokale Entwickler und CI-Server:

export const environment = { 
    ... 
    apiUrl: "https://api.sample.com" 
}; 

Das funktioniert gut, wenn ich die Anwendung erstellen oder starten muss. Ich kann einfach geben Sie die Umgebung Parameter:

ng serve --environment=test 

... aber es schien, dass es impossible to set a specific environment ist, wenn e2e Protractor Tests ausgeführt werden. Der folgende Befehl ignoriert einfach die Umgebung (was gemäß this comment zu erwarten ist). Die Standardumgebung wird immer verwendet:

ng e2e --environment=test // same as `ng e2e` 

Gibt es andere Möglichkeiten, die Tests in einer bestimmten Umgebung auszuführen?

+0

Sie eine Lösung für diese gefunden? Wenn ja bitte teilen .. –

+0

Nein, leider nicht. Am Ende ändere ich die Standardumgebung, die ich für CI verwende, aber das ist nicht die Lösung, nach der ich gesucht habe. –

+0

Was ich gemacht habe, ist, dass ich 'Config'-Datei unter' e2e'-Ordner erstellt habe, der die 'baseUrl' als Parameter akzeptiert. Ich gebe diesen Param weiter, wenn ich Test in der Produktion env benötige, sonst wird lokales env betrachtet. Aber müssen Sie den Test über globale Winkelmesser und nicht über ng e2e ausführen. Wieder keine gute Lösung, für mich ist es eine gute Arbeit. –

Antwort

3

konnte ich eine andere Umgebung erfolgreich nutzen, indem sie die .angular-cli.json

"environments": { 
    "dev": "environments/environment.ts", 
    "test": "environments/environment.test.ts", 
    "prod": "environments/environment.prod.ts" 
    } 

dann Zugabe Aufruf

ng e2e --environment test 
+1

Die Umgebungskonfigurationen, wie Sie bereits erwähnt haben, existieren bereits im App-Bereich, aber ich kann nicht auf die Umgebungsvariablen in spec ODER in der Winkelmesserkonfigurationsdatei zugreifen. Könntest du mir bitte sagen, wie du auf die Umgebungsvariablen zugegriffen hast? –

Verwandte Themen