2016-07-08 102 views
1

我想通過CircleCI爲我的項目使用量角器進行E2E測試。CircleCI量角器等待服務器啓動

啓動我的服務器需要較長的時間(約2分鐘),我讓我的測試,下面的錯誤(這在本地顯示在服務器尚未啓動):

Failed: Angular could not be found on the page http://test.blah.dev:3000/auth/login : retries looking for angular exceeded 

這裏是我的circle.yml

machine: 
    node: 
    version: 5.11.0 
dependencies: 
    post: 
    - npm run serve-dist: # starts the server 
      background: true 
    - sleep 150 # wait for the server to start 
test: 
    pre: 
    - npm install -g protractor 
    - webdriver-manager update 
    - webdriver-manager start: 
      background: true 

我然後運行npm test,它包括命令protractor conf.js

欲數字找出一個更好的方法來等待服務器在CircleCI上啓動。有人能告訴我我做錯了什麼嗎?

+0

我想你可能會發現一些有用的[這個很好的答案](http://stackoverflow.com/a/25042323/771848)。 – alecxe

+0

@alecxe我認爲'background:true'確保該過程在CircleCI的後臺運行(它代替'&')...我仍然無法理解我錯在哪裏。 – dyang

回答

1

所以事實證明,我的項目設置中還有其他一些步驟,我錯過了...特別是,我需要爲/etc/hosts文件添加名稱,以及一些環境變量連接到我的mongo實例,像這樣:

machine: 
    hosts: 
    test.blah.dev: 127.0.0.1 
    environment: 
    MONGOLAB_URL: mongodb://localhost/testdatabase 

所以這是不是等待服務器開始(使用background: truesleep應注意等待的)的問題。