1
我有一些代碼(爲了本示例的目的,我已經將其剝離),並且正在尋找一些有關使用RSpec測試它的最佳方法的建議。使用RSpec測試一個塊
ActionController::Renderers.add :liquid do |obj, options|
# Set the mime type as HTML.
self.content_type ||= Mime::HTML
# Do some clever stuff....
# Render the liquid layout.
self.response_body = layout.render(obj)
end
該塊通過add()調用添加到一個集合中,並在稍後執行。
我正在測試塊的功能,以確保它做我想要的一切,比如設置正確的變量(self.content_type)並調用正確的庫(layout.render)。
我從來沒有測試過這樣的塊的內容,所以尋找一些友好的建議,如何最好地去做,我可以按原樣測試塊,還是需要重構到外部方法,可以被測試?
你應該寧願做是測試模塊提供的效果。在控制器測試中,發送請求並聲明返回的響應已正確呈現。您不想將測試緊密地與實施結合。 – DiegoSalazar