在我的视图中,我使用一个将任意HTML作为块的帮助器:
<% some_block_helper do %>
Some arbitrary HTML and ERB variables here.
More HTML here.
<% end %>
我的助手在传递给HTML视图(Markdown和其他格式化)之前对传递的HTML块执行了大量操作。我想知道在rSpec中测试helper调用结果的最简洁方法是什么,如果有的话。我发现了一些与ERB的私有方法混淆的例子,但这看起来有点脆弱,难以阅读。
答案 0 :(得分:7)
为了简单地说明詹姆斯说的话,我认为这样的事情应该可以正常运作:
describe SomeHelper do
it 'should do something' do
helper.some_block_helper { the_block_code }.should XXXX
end
end
答案 1 :(得分:1)
答案 2 :(得分:1)
这是另一个扩展Cameron答案的例子
describe SomeHelper do
it 'should do something' do
content = lambda { "blah" }
result = helper.some_block_helper(&content)
result.should include("blah")
result.should XXX
end
end