我正在进行一些自动化测试,其中我在两个不同来源的两个数据列表之间进行比较。
我使用assert来比较字符串,但我无法保存断言结果。
有什么建议吗?它可能正在使用其他方法,但我发现断言是现在最有用的。
感谢。
答案 0 :(得分:1)
尝试这样的事情
try:
assert something==otherthing
except:
f=open(log,"a")
f.write("Assertion failed comparing something to otherthing\n")
f.close()
答案 1 :(得分:1)
您可以使用此方法提供包含断言的消息:
assert something == otherthing, "Assertion failed comparing {} to {}".format(something, otherthing)
执行此操作时,您应该看到值显示在您只看到空白的位置" AssertionError"消息。
我建议使用pytest作为自动测试的基础。 pytest中的断言被重新格式化以提供对值的更好的反省,使得这个额外的步骤变得多余;看看this pytest introduction,特别是" test_markdown"你可以看到断言如何获得一些自动内省的部分。