测试ERB模板

时间:2015-09-25 21:24:13

标签: ruby json erb

我已经编写了一个模板,可以为JSON对象做一些事情,例如:

{
  "list": [
    <% ['a', 'b', 'c', 'd'].each do |letter| %>
     <%= puts "{ \"letter\": \"" + letter + "\" }," %>
    <% end %>
   ]
}

如何编写单元测试以检查JSON输出是否有效?我是Ruby的新手,所以我真的不知道我将使用的工具。另外,有没有更好的方法在ERB模板中创建JSON对象列表?

我无法访问或了解处理模板的事情,因此我对可以使用的Ruby库并不十分肯定。

注意: RAILS不参与。 Just vanilla Ruby。

1 个答案:

答案 0 :(得分:1)

如果您只是尝试将某个对象或列表作为JSON返回,则可以从控制器中调用render json: object。您可以像测试任何其他控制器一样测试它:http://guides.rubyonrails.org/testing.html#functional-tests-for-your-controllers

如果您出于某种原因在ERB中绝对需要它,可以在ERB标记之间的对象上调用.to_json方法:<%= object.to_json %>

.to_json方法将始终返回有效的JSON。