如何断言python-behave中的JSON相等性并在断言失败时获取diff作为输出?
在Ruby中我使用:https://github.com/collectiveidea/json_spec,所以我基本上在Python中寻找类似的功能。
使用正常的assert
语句,输出非常无用。
答案 0 :(得分:1)
我不久前需要类似的功能。我找到的最简单的方法是使用https://github.com/ChannelIQ/jsoncompare。您可以使用以下命令安装它:
$ pip install jsoncompare
然后在你的步骤代码中你可以这样做一个断言:
from jsoncompare import jsoncompare
if jsoncompare.are_same(json1, json2):
assert True
else:
print (jsoncompare.are_same(json1, json2))
assert False
默认情况下,除非出现故障,否则表现不会显示print
语句,您必须使测试失败才能显示diff输出。