如果我用 Python 编写单元测试(使用 unittest 模块) ,是否可能从失败的测试中输出数据,以便我可以检查它来帮助推断出错误的原因?
我知道创建定制消息的能力,它可以携带一些信息,但有时您可能要处理更复杂的数据,这些数据不能轻易地表示为字符串。
例如,假设您有一个 Foo 类,正在使用一个名为 testdata 的列表中的数据测试一个方法工具条:
class TestBar(unittest.TestCase):
def runTest(self):
for t1, t2 in testdata:
f = Foo(t1)
self.assertEqual(f.bar(t2), 2)
如果测试失败,我可能想要输出 t1、 t2和/或 f,以查看为什么这个特定的数据导致失败。通过输出,我的意思是在测试运行之后,可以像访问其他变量一样访问这些变量。