我从json中打开了一组数据,并将其与csv中的另一组数据进行了比较。
assert data1_json1 == data1_csv1
assert data2_json1 == data2_csv2
assert data3_json1 == data3_csv3
assert data4_json1 == data4_csv4
.......
assert data1_json2 == data1_csv10
assert data2_json2 == data2_csv11
assert data3_json2 == data3_csv12
assert data4_json2 == data4_csv13
.......
在我需要详细答复之前,它一直很好。我可以对一组数据使用try
except
,但是我不知道如何在没有代码重复的情况下将其用于所有断言。
try:
assert data1_json == data1_csv
except AssertionError:
raise AssertionError('Json: ' + data1_json, 'CSV: ' + data1_csv)
答案 0 :(得分:0)
您可以将消息与assert一起发送。 例如,
try:
assert data1_json == data1_csv, "Json: "+data1_json+" CSV: "+data1_csv
assert data2_json == data2_csv, "Json: "+data2_json+" CSV: "+data2_csv
...
except AssertionError as e:
print(e)
该e将显示“ Json:“ + data1_json +” CSV:“ + data1_csv
在更简单的模式下,将值传递到元组并在AssertionError模式下检索
try:
assert data1_json == data1_csv, (data1_json,data1_csv)
assert data2_json == data2_csv, (data2_json,data2_csv)
...
except AssertionError as e:
output = list(e[0])
print("Json: "+output[0]+" CSV: "+output[1])