如果我的json对象包含多个属性,那么我应该为每个属性编写断言还是有更好的方法?
例如: {'数据' {' ID' :123,' first_name' :'布鲁斯',' last_name' :' wayne','电话' :12345,' is_superhero' :'是',' can_fly' :' uses_tech',' aka' :'蝙蝠侠'}}
现在,我可以按如下方式编写断言:
方法1:
assertEquals(响应['数据'] [' first_name'] ==' bruce')依此类推所有属性,想象一下我的json响应有100个字段然后我的测试代码将包括100个assertEquals。
方法2:
我可以进行json比较,但是当json对象&中存在动态值(如id)时,它会如何工作。每次都必须改变!
如果您已完成API自动化并在复杂的json对象上进行断言,那么我期待您遵循的方法。
我觉得必须有一个更好的方法。有什么建议吗?
答案 0 :(得分:0)
我建议您使用JSON架构,请在此处详细了解:https://spacetelescope.github.io/understanding-json-schema/。
获得API架构后,您可以使用类似JSON架构的库对其进行验证,请在此处进行检查:https://pypi.python.org/pypi/jsonschema
此外,您可以使用GenSON库自动生成JSON中的模式:https://github.com/wolverdude/GenSON。考虑到此库存在局限性,您需要调整生成的架构以满足您的要求。