我們有一個小的方法,我們其他團隊的一些內部使用。我正在爲它編寫測試,但我遇到了一個小問題:如何欺騙rspec測試中的請求主機?
該方法本身進行檢查以確保請求來自特定服務器(request.host)。我嘗試過存根,但我可能是在錯誤的控制器上存根?我試過我正在測試的控制器和.any_instance,然後我嘗試了controller.any_instance,但都沒有工作。
我有一種預感,我可以使用設計來欺騙它,但到目前爲止谷歌還沒有產生太大的用處。
我們有一個小的方法,我們其他團隊的一些內部使用。我正在爲它編寫測試,但我遇到了一個小問題:如何欺騙rspec測試中的請求主機?
該方法本身進行檢查以確保請求來自特定服務器(request.host)。我嘗試過存根,但我可能是在錯誤的控制器上存根?我試過我正在測試的控制器和.any_instance,然後我嘗試了controller.any_instance,但都沒有工作。
我有一種預感,我可以使用設計來欺騙它,但到目前爲止谷歌還沒有產生太大的用處。
我覺得溫和傻不首先嚐試這一點,但:
在一個測試,我想request.host欺騙,設置這個在您的相應的測試方式是:
擊鼓聲請...
request.host = dev.example.com
如果您正在測試的子域,我有一些代碼在這裏書面記錄:http://www.chrisaitchison.com/2013/03/17/testing-subdomains-in-rails/
相當牛逼如果只允許來自特定服務器的請求,可能會創建一個服務器白名單。然後只需將localhost/127.0.0.1添加到列表中。 –
這會阻止我們測試後衛。 –