2

python-behave で JSON の等価性をアサートし、アサーションが失敗したときに出力として差分を取得するにはどうすればよいですか?

Ruby ではhttps://github.com/collectiveidea/json_specを使用しているため、基本的に Python で同様の機能を探しています。

通常のassertステートメントでは、出力は非常に役に立ちません。

4

1 に答える 1

2

しばらく前に同様の機能が必要でした。私が見つけた最も簡単な方法は、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は、エラーが発生しない限り、behavior はステートメントを表示しません。diff 出力を表示するには、テストを失敗させる必要があります。

于 2016-08-30T23:05:36.590 に答える