У меня есть код (который я отменил для целей этого примера), и я ищу несколько советов по наилучшему тестированию с помощью 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