2015-01-20 80 views
1

我正在設置我的前端應用程序以在CircleCI中使用持續集成。單元測試工作正常,但端到端測試不是。使用量角器設置API應用程序的最佳方式是什麼?

問題是它需要運行後端(API)服務器,而我們在另一個完全不同的應用程序中。那麼,設置後端服務器的最佳方式是什麼(思考CI)?

我想過在heroku上上傳它,但是我不得不通過git手動更新代碼。另一個選擇是將代碼下載到CI虛擬機並直接在那裏運行服務器,但這只是太多的工作(安裝ruby,postgres,gem ...),並且它似乎絕不是最好的選擇。

有沒有人通過相同的情況?你們通常如何處理這種情況?

回答

0

假設API服務器正在運行某處,在測試/ CI環境中配置前端應用程序以指向那裏,至少要開始。如果有多個API環境,請選擇與前端環境最匹配的環境(例如,dev,staging等)。

如果/當您需要在每次構建API時運行e2e測試或匹配前端和API的特定構建版本,它會變得更加複雜。在這種情況下,您將不得不運行API服務器作爲測試的一部分。

+0

我們有一個生產和開發環境,但都沒有一個很好的匹配。問題是我們需要(應該?)在測試之前重置數據庫,所以我們不擔心狀態更改。就像你說的那樣,運行服務器和測試是一個選項,我幾乎相信這樣做,但它似乎仍然是一種解決方法:( – 2015-01-21 12:21:07

1

我完成了CI內的所有工作。每次運行測試套件時,我都會製作一些自定義腳本來配置後端項目。另外,我使用後端代碼和寶石(需要〜2分鐘安裝)緩存該文件夾。

配置部分現在增加了〜20秒的總時間,所以它沒有什麼大不了的。儘管我仍然認爲這可能不是最好的方法,但它有一些優點,例如不必擔心更新後端代碼(它會自動從主服務器中取出)或其數據庫(它在更新代碼後運行rake db:reset)。

相關問題