我試圖運行一些使用dredd和api blueprint來測試網站的api調用。我想在circleCI上運行測試,因爲在同一個地方運行了Selenium測試。每筆交易都需要附有兩個令牌,這些令牌在頭文件中設置爲Cookie。理想情況下,這些將在dredd.yml文件中設置。在本地機器上運行時,如果我將ACCESS_TOKEN
和REFRESH_TOKEN
替換爲實際值,則測試按預期運行。如何在dredd.yml文件中設置dredd測試的環境變量?
circle.yml:
test:
override:
- dredd
dredd.yml頭
header: ['Cookie: access_token=ACCESS_TOKEN; refresh_token=REFRESH_TOKEN']
凡ACCESS_TOKEN和REFRESH_TOKEN在circleCI的環境變量設置的實際值會被替換。我也嘗試過:access_token=$[ACCESS_TOKEN]
,access_token=$["ACCESS_TOKEN"]
和access_token=$ACCESS_TOKEN
。這些都不會被替換爲第一個API調用的標題。
標題是這樣的:{"Content-Type":"application/json; charset=utf-8","User-Agent":"Dredd/1.4.0 (Darwin 14.5.0; x64)","Cookie":" access_token=$ACCESS_TOKEN; refresh_token=$REFRESH_TOKEN"}
我是新來的YAML文件,所以我可能失去了一些東西基本的,但我沒有四處搜尋了一段時間。鉤子文件是用node.js編寫的,所以我不認爲ruby/rails的幫助在這裏很有用。如果我錯過了任何問題,請不要猶豫,讓我知道。