我已经编写了一个模板,可以为JSON对象做一些事情,例如:
{
"list": [
<% ['a', 'b', 'c', 'd'].each do |letter| %>
<%= puts "{ \"letter\": \"" + letter + "\" }," %>
<% end %>
]
}
如何编写单元测试以检查JSON输出是否有效?我是Ruby的新手,所以我真的不知道我将使用的工具。另外,有没有更好的方法在ERB模板中创建JSON对象列表?
我无法访问或了解处理模板的事情,因此我对可以使用的Ruby库并不十分肯定。
注意: RAILS不参与。 Just vanilla Ruby。
答案 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。