作为使用 unittest
的一些 Python 测试的一部分框架,我需要比较两个相对较短的文本文件,一个是测试输出文件,另一个是引用文件。
直接的方法是:
import filecmp
...
self.assertTrue(filecmp.cmp(tst_path, ref_path, shallow=False))
如果测试通过,它工作正常,但即使失败,输出也没有太多帮助:
AssertionError: False is not true
作为
unittest
的一部分,有没有更好的方法来比较两个文件?框架,所以在不匹配的情况下会生成一些有用的输出?
最佳答案
要获得哪一行有差异的报告以及该行的打印输出,请使用 assertListEqual
关于内容,例如
import io
self.assertListEqual(
list(io.open(tst_path)),
list(io.open(ref_path)))
关于python - 如何比较两个文件作为单元测试的一部分,同时在不匹配的情况下获得有用的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42512016/