如何使用rSpec测试Rails块助手



在我的视图中,我使用了一个将任意HTML作为块的助手:

<% some_block_helper do %>
  Some arbitrary HTML and ERB variables here.
  More HTML here.
<% end %>

我的助手在将传递的HTML块呈现回视图(Markdown和其他格式)之前,会对其执行一系列操作。我想知道在rSpec中测试助手调用结果的最干净的方法是什么(如果有的话)。我发现了一些与ERB的私人方法有关的例子,但这似乎有点脆弱,很难阅读。

为了补充James所说的内容,我认为这样的东西应该很好:

describe SomeHelper do
  it 'should do something' do
    helper.some_block_helper { the_block_code }.should XXXX
  end
end
  1. 对于功能测试,编写一个普通视图规范并测试结果
  2. 要对您的助手进行单元测试,请直接向其传递任意的html输入字符串

如果我遗漏了其他困难,请评论?

下面是另一个扩展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

相关内容

  • 没有找到相关文章

最新更新