Python单元测试。如何检查方法是否已实现且未继承

时间:2014-05-05 13:53:32

标签: python class unit-testing python-unittest

我们小组正在开发一个Python项目。我们希望确保我们创建的某些类定义自己的 __ repr __ __ str __ 方法,而不仅仅是从对象或其他类继承。我们如何用unittest库测试它?

1 个答案:

答案 0 :(得分:1)

  

我们希望确保我们创建的某些类定义自己的__repr____str__方法,而不仅仅是从对象或其他类继承。我们如何使用unittest库对其进行测试?

那不是单元测试。这是一个编码惯例。

你应该测试的是他们的repr和str表示符合你想要的输出。正则表达式或示例文本将是最简单的方法。考虑消极和积极的测试(即检查它是否像你想要的那样,并且它不像默认的python实现)。

更新:正如@JonasWielicki所说:抽象方法将是强制执行此类方法的程序化方法https://docs.python.org/2/library/abc.html#abc.abstractmethod。请注意,它不会强制层次结构中的每个级别都有自己的方法,但这在任何情况下都是不合需要的。编写足够通用的基础实现要好得多,并且只在必要时才覆盖。