测试 ERB 模板
Test an ERB Template
我写了一个模板,可以对 JSON 对象做一些事情,例如:
{
"list": [
<% ['a', 'b', 'c', 'd'].each do |letter| %>
<%= puts "{ \"letter\": \"" + letter + "\" }," %>
<% end %>
]
}
如何编写单元测试来检查 JSON 输出是否有效?我是 Ruby 的新手,所以我真的不知道为此要使用什么工具。另外,有没有更好的方法在 ERB 模板中列出 JSON 个对象?
我无权访问或不知道处理模板的东西,所以我不太确定我可以使用哪些 Ruby 库。
注意: RAILS不涉及。只是香草 Ruby.
如果您只是想 return 某些对象或列表为 JSON,您可以从您的控制器调用 render json: object
。您可以像测试任何其他控制器一样测试它:http://guides.rubyonrails.org/testing.html#functional-tests-for-your-controllers
如果你出于某种原因在 ERB 中绝对需要它,你可以在 ERB 标签之间的对象上调用 .to_json
方法:<%= object.to_json %>
。
.to_json
方法将始终return有效JSON。
我写了一个模板,可以对 JSON 对象做一些事情,例如:
{
"list": [
<% ['a', 'b', 'c', 'd'].each do |letter| %>
<%= puts "{ \"letter\": \"" + letter + "\" }," %>
<% end %>
]
}
如何编写单元测试来检查 JSON 输出是否有效?我是 Ruby 的新手,所以我真的不知道为此要使用什么工具。另外,有没有更好的方法在 ERB 模板中列出 JSON 个对象?
我无权访问或不知道处理模板的东西,所以我不太确定我可以使用哪些 Ruby 库。
注意: RAILS不涉及。只是香草 Ruby.
如果您只是想 return 某些对象或列表为 JSON,您可以从您的控制器调用 render json: object
。您可以像测试任何其他控制器一样测试它:http://guides.rubyonrails.org/testing.html#functional-tests-for-your-controllers
如果你出于某种原因在 ERB 中绝对需要它,你可以在 ERB 标签之间的对象上调用 .to_json
方法:<%= object.to_json %>
。
.to_json
方法将始终return有效JSON。