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

标签 python unit-testing

我正在为特定类中的方法列表运行 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/

相关文章:

c++ - 模拟来自外部类的静态方法(我无法更改!)

api - 模拟每个领域或好的 api

python - 在 for 循环期间创建数据框

python - 如何查找 numpy 矩阵中是否存在子矩阵?

python - 从 Bokeh 图中删除所有填充

python - Tcl 错误 : bad geometry specifier

c# - 如何强制方法使用模拟?

python - Brainf*ck 输入解释

java - ArrayList.containsAll 不使用我的自定义 equals 函数

java - 如何对需要时间执行操作的线程进行单元测试