如何在Python unittest中获取失败案例的参数?

时间:2010-03-01 18:03:26

标签: python unit-testing

我正在为特定类中的方法列表运行assertEqual测试用例。这些方法使用getattr()从字符串形式扩展为可调用的内容。

如何让unittest告诉我失败的具体方法?含义:如何将unittest打印到stdout导致断言失败的特定参数?

任何建议都非常感谢。

由于

1 个答案:

答案 0 :(得分:5)

你可以传递assertEqual第三个参数(技术上是第四个,如果算上自己),这是它将返回的错误信息。因此,以下内容应该或多或少地与您一起寻找:

class MethodTest(TestCase):
    def test_method(self):
        obj = MyClass()
        for method in "frob", "defrob", "refrob":
             self.assertEqual(getattr(obj, method)(), 42, "obj.%s() is not equal to 42" % method)