如何在 python-behave 中断言 JSON 相等性并在断言失败时获取 diff 作为输出?
在 Ruby 中我使用:https://github.com/collectiveidea/json_spec,所以我基本上是在 Python 中寻找类似的功能。
使用正常assert
的语句,输出是非常无用的。
如何在 python-behave 中断言 JSON 相等性并在断言失败时获取 diff 作为输出?
在 Ruby 中我使用:https://github.com/collectiveidea/json_spec,所以我基本上是在 Python 中寻找类似的功能。
使用正常assert
的语句,输出是非常无用的。
不久前我需要一个类似的功能。我发现最简单的方法是使用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
默认情况下,behave 不显示print
语句,除非出现故障,您必须使测试失败才能显示 diff 输出。