我正在嘗試爲API編寫RSpec測試。從RSpec訪問控制器的父類功能
設置: 爲了保持一致,我們有一個格式化函數,它的響應,使一個很好的JSON對象,所以一切都是一致的。 E.g.-簡化此示例:
def format (status, message)
{status: status,
message: message}
end
該功能是在鹼控制器,所有的API控制器從繼承聲明。
我想什麼: 當我測試的API控制器我想測試控制器給了我預期的結果,但我不希望測試JSON響應的實際格式。如在,我想檢查傳遞給格式函數的參數是我所期望的,但我不想檢查實際返回的函數。 (我正在計劃在另一個測試中測試這個函數,如果對JSON格式的更改不會影響API的每個測試,我都會很喜歡它,如果這不是很好的做法,請隨時告訴我。 )
我的問題: 有沒有什麼辦法,我訪問格式功能從基本控制器在當前API spec文件?或者,有沒有一種方法可以讓我將它存根並獲取傳遞給它的參數,以便我可以檢查它們是否正確?
相關:How to check for a JSON response using RSpec?