2017-07-26 54 views
7

używam kątowe zmiennych środowiskowych do configure API endpoints:Jak uruchomić testy e2e kątomierz stosując różne kątowe zmienne środowiskowe

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

Pliki environtment zawierają ustawienia takie jak poniżej, które są różne dla lokalnych dev i serwery CI:

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

Działa to dobrze, gdy trzeba zbudować lub uruchomić aplikację. Mogę po prostu określić środowiskową parametr:

ng serve --environment=test 

... ale okazało się, że jest to impossible to set a specific environment gdy uruchomiony e2e Protractor testów. Poniższe polecenie po prostu ignoruje środowisko (które wydaje się być oczekiwane zgodnie z this comment). Zawsze używane jest środowisko domyślne:

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

Czy istnieją inne sposoby na przeprowadzenie testów w konkretnym środowisku?

+0

Czy znaleźli rozwiązanie tego problemu? Jeśli tak, proszę udostępnij. –

+0

Nie, niestety nie. Kończę z modyfikowaniem domyślnego środowiska, które używam na CI, ale nie jest to rozwiązanie, którego szukałem. –

+0

To, co zrobiłem, to że utworzyłem plik 'config' w folderze' e2e', który akceptuje 'baseUrl' jako parametry. Przesyłam ten param, jeśli potrzebuję testu w produkcji env, który zostanie uwzględniony w lokalnej env. Ale trzeba przeprowadzić test za pomocą globalnego kątomierza, a nie poprzez ng e2e. Znowu nie dobre rozwiązanie, Dla mnie to działa. –

Odpowiedz

3

udało mi się z powodzeniem użyć innego środowiska poprzez dodanie go do .angular-cli.json

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

potem dzwonisz

ng e2e --environment test 
+1

Konfiguracje środowisk takie jak wspomniane istnieją już w sekcji aplikacji, ale nie mam dostępu do zmiennych środowiskowych w specyfikacji LUB w pliku konfiguracyjnym kątomierza. Czy mógłbyś powiedzieć, w jaki sposób uzyskałeś dostęp do zmiennych środowiskowych? –