作为使用unittest
框架的一些Python测试的一部分,我需要比较两个相对较短的文本文件,其中一个是测试输出文件,另一个是引用文件。
直接的方法是:
import filecmp
...
self.assertTrue(filecmp.cmp(tst_path, ref_path, shallow=False))
如果测试通过,它可以正常工作,但即使失败,输出也没有太大帮助:
AssertionError: False is not true
有没有更好的方法来比较作为unittest
框架一部分的两个文件,以便在不匹配的情况下生成一些有用的输出?
比较这两个文件的内容不是更好吗。例如,如果它们是文本文件,比较两个文件的文本,这将输出一些更有意义的错误消息。
您只需为错误条件添加自己的消息。doc
self.assertTrue(filecmp(...), 'You error message')
要获得哪一行有差异的报告以及该行的打印输出,请对内容使用
assertListEqual
,例如相关问题 更多 >
编程相关推荐