如何断言我的Ajax请求并测试Ruby on Rails功能测试的JSON输出?
Rails内置了JSON支持:
def json_response ActiveSupport::JSON.decode @response.body end
不需要插件
然后你可以做这样的事情:
assert_equal "Mike", json_response['name']
使用JSON gem的JSON.parse,它接受一个字符串作为输入并返回JSON表示的Ruby哈希.
以下是测试的基本要点:
user = JSON.parse(@response.body) assert_equal "Mike", user['name']
这是gem的文档:http://json.rubyforge.org/.此外,您可以非常轻松地使用IRB中的JSON gem .
如果您正在使用RSpec,json_spec值得一看
https://github.com/collectiveidea/json_spec