我正在爲一個控制器編寫請求規範,並且我希望通過AJAX調用另一個控制器的方法。 AJAX調用中的控制器操作用於對地址進行地理定位,並與請求的其餘部分無關。控制器動作總是不呈現任何內容。Rspec:stub out控制器動作
我已經試過:
before :each
AddressesController.any_instance.stub(:update).and_return nil
end
然而,這給了我一個錯誤:
Failure/Error: Unable to find matching line from backtrace
ActionView::MissingTemplate:
Missing template addresses/update, application/update
沒有視圖模板存在的行動,因爲它總是呈現什麼。
有沒有一種方法可以完全排除其他控制器的操作,還是需要將該方法的內部存根取出?
我以前見過這個問題,但是我不明白它與我的問題有什麼關係。奇怪的是,這個問題似乎在測試Rails如何處理控制器錯誤,爲此我認爲對內部進行存根是有意義的。我在問一個單獨控制器的動作是否存在,我不想考慮這個動作的內部情況,因爲它與我試圖測試的內容無關。我錯過了什麼嗎?有沒有辦法做到這一點? – eirikir