我们小组正在开发一个Python项目。我们希望确保我们创建的某些类定义自己的 __ repr __ 和 __ str __ 方法,而不仅仅是从对象或其他类继承。我们如何用unittest库测试它?
答案 0 :(得分:1)
我们希望确保我们创建的某些类定义自己的
__repr__
和__str__
方法,而不仅仅是从对象或其他类继承。我们如何使用unittest库对其进行测试?
那不是单元测试。这是一个编码惯例。
你应该测试的是他们的repr和str表示符合你想要的输出。正则表达式或示例文本将是最简单的方法。考虑消极和积极的测试(即检查它是否像你想要的那样,并且它不像默认的python实现)。
更新:正如@JonasWielicki所说:抽象方法将是强制执行此类方法的程序化方法https://docs.python.org/2/library/abc.html#abc.abstractmethod。请注意,它不会强制层次结构中的每个级别都有自己的方法,但这在任何情况下都是不合需要的。编写足够通用的基础实现要好得多,并且只在必要时才覆盖。