几个月来,我一直在寻找明确的答案,而RSpec的书根本没有触及到这个问题:
我们现在如何在RSpec2?中处理视图规范中的部分呈现
我有一个很大的(35K+视图线和相关的规格),我正试图升级到Rails3 3/RSpec2 2。我的观点使用了相当广泛的部分,这个问题对我来说是一个巨大的障碍。
before do
view.should render_template("event_list", :locals => {:calendar => @calendar})
end导致所有相关规范失败的原因如下:
expecting <"event_list"> but rendering with <"">.
Expected block to return true value.有什么建议吗?
发布于 2010-11-16 19:30:57
我认为您现在需要传递一个散列,而不是部分的名称:
view.should render_template(:partial=>"_event_list", :locals => {:calendar => @calendar})编辑
FWIW我也不能让这工作,但是猴子点击使它通过:
class ActionView::Base
def stub_partial(hash)
view_paths.unshift(ActionView::FixtureResolver.new(hash))
end
end然后
before(:each) do
view.stub_partial("path_to/_partial" => "")
end也许大卫会解释正确的方法..。
https://stackoverflow.com/questions/4195184
复制相似问题