如何在Python单元测试中获取失败案例的参数?
问题描述:
我正在为特定类中的方法列表运行assertEqual
测试用例。这些方法从字符串形式扩展到使用getattr()
可调用的东西。如何在Python单元测试中获取失败案例的参数?
如何获得unittest来告诉我失败的特定方法?意思是:我怎样才能得到unittest来打印stdout导致assert失败的特定参数?
任何建议非常感谢。
感谢
答
您可以通过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)
宾果!谢谢jcd。 – chris 2010-03-02 17:40:36