2017-07-26 58 views
7

我用角環境變量configure API endpoints運行量角器端到端測試:如何使用不同的角度的環境變量

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

的environtment文件包含如下設置,這是本地開發不同的CI服務器:

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

當我需要構建或啓動應用程序時,工作正常。我可以簡單地指定環境參數:

ng serve --environment=test 

...但它似乎它運行時,端到端測試Protractorimpossible to set a specific environment。下面的命令簡單地忽略了環境(這似乎根據this comment預計)。總是使用默認環境:

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

是否有任何其他方式使用特定環境運行測試?

+0

你找到了一個解決方案成功地使用不同的環境?如果是這樣請分享.. –

+0

不,不幸的不是。我最終修改了我在CI上使用的默認環境,但這不是我正在尋找的解決方案。 –

+0

我所做的是我在'e2e'文件夾下創建了'config'文件,它接受'baseUrl'作爲參數。如果我需要在生產環境中測試env,我會傳遞這個參數,否則將考慮本地env。但需要通過全球量角器而不是通過ng e2e來運行測試。再次不是很好的解決方案,對我來說它的工作。 –

回答

3

我可以將其添加到.angular-cli.json

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

然後調用

ng e2e --environment test 
+1

像你提到的環境配置已經存在於應用程序部分,但我無法訪問量角器配置文件中的規範或OR環境變量。那麼你可以告訴你如何訪問環境變量? –