【发布时间】:2012-01-12 23:27:12
【问题描述】:
我想知道如何验证在控制器中传递给渲染模板的本地人
控制器:
def lelf_panel
# ...
if some_condition
locals_hash = some_very_long_hash_A
else
locals_hash = some_very_long_hash_B
end
render :partial => "left_panel", :layout => false, :locals => locals_hash
end
当前规格:
it 'should render correct template for lelf_panel' do
# ...
get 'left_panel'
response.should render_template('system/_left_panel')
end
现在我需要完成此控制器的 Rcov,因此我需要添加/修改规范以涵盖两个“some_condition”结果。并且我想验证传递给渲染的“lelf_panel”本地变量,就好像我只验证渲染模板一样,为两个结果渲染的部分页面是相同的。
我在 rspec 文档中检查了“render_template” http://rubydoc.info/gems/rspec-rails/2.8.1/RSpec/Rails/Matchers/RenderTemplate:render_template
它只提供消息的第二个参数,那么我如何测试传递给渲染的本地参数?
【问题讨论】:
标签: ruby-on-rails rspec rspec-rails