我正在寻找检查XML或JSON响应中属性的存在的正确方法。我不在乎值是否为空,空或任何其他值,事实上,我的响应可能包含此特定属性的3个状态:
nil
datetime
因此,我需要一些方法来统一和简化所有这些状态(因为所有这些状态在此特定测试中都有效),并且只询问属性( last_visit_at )是否存在。
同样我可以测试它是否为零,即使用JSON:
JSON.parse(response.body).first["last_visit_at"].should_not be_nil
JSON.parse(response.body).first["last_visit_at"].should be_nil
当值为nil时,这不起作用,显然(nil不响应#exist?或#exists?):
JSON.parse(response.body).first["last_visit_at"].should exist
有没有办法做到这一点,它可能对JSON和XML响应都有效吗?感谢。
答案 0 :(得分:6)
试试这个
JSON.parse(response.body).first.keys.include?("last_visit_at").should be_true