我正在为特定类中的方法列表运行assertEqual
测试用例。这些方法使用getattr()
从字符串形式扩展为可调用的内容。
如何让unittest告诉我失败的具体方法?含义:如何将unittest打印到stdout导致断言失败的特定参数?
任何建议都非常感谢。
由于
答案 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)