我正在为特定类中的方法列表运行 assertEqual
测试用例。这些方法从字符串形式扩展为可使用 getattr()
调用的形式。
如何让 unittest 告诉我失败的特定方法?意思是:如何让 unittest 将导致断言失败的特定参数打印到标准输出?
非常感谢任何建议。
谢谢
最佳答案
您可以向 assertEqual 传递第三个参数(如果算上 self,从技术上讲是第四个参数),这是它将返回的错误消息。所以以下应该或多或少地做你正在寻找的东西:
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)
关于python - 如何在 Python unittest 中获取失败案例的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2357921/