2013-06-25 19 views
0

我們的rails應用程序(以及與之相關的黃瓜測試)向外部API調用/請求API。當rails應用程序開發時,rails server dev環境可以正常工作,但最近黃瓜測試已停止與其他API進行交互,即使它應該開啓並與開發服務器進行交互。 (我得到errno的 - 連接被拒絕)黃瓜不與其他API一起工作API

以前,我們必須正確的端口訪問它硬編碼爲簡單起見。有人(不是我)做了一些改變,以便將硬代碼和其他更改一起移除,但它們並沒有完全起作用,所以爲了使開發環境正常工作,我又改回了硬編碼。現在,開發環境的工作原理與它應該完全相同,但是黃瓜測試發送連接拒絕錯誤,就好像其餘的API服務器不在,即使是這樣。我希望我能提供更多的信息,但由於我沒有做出改變,我不知道所有的改變。

我想知道如果任何人有這樣的事情的經驗,如果他們知道這個問題可能是什麼,爲什麼Rails服務器開發環境,服務器的工作原理,但黃瓜測試不。謝謝!

回答

0

如果你硬編碼的開發環境,單獨的端口號,測試環境將無法看到這一點。使用這樣的配置文件:

config/config.yml

default: &defaults 
    api_port: 80 

development: 
    <<: *defaults 
    api_port: 3000 

production: 
    <<: *defaults 

test: 
    <<: *defaults 
    api_port: 8080 

config/initializers/config.rb

AppConfig = YAML.load_file("#{Rails.root}/config/config.yml")[Rails.env].symbolize_keys 

使用配置AppConfig[:api_port]在你的代碼,它現在將尊重環境。