gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 06:03:24 26 4
gpt4 key购买 nike

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

最佳答案

We want to make sure that some classes we create define their own __repr__ and __str__ methods and not just inherit from object or other classes. How can we test for it with unittest library?

那不是单元测试。这是一个编码约定。

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

更新:正如@JonasWielicki 所指出的:抽象方法将是强制存在此类方法的编程方式 https://docs.python.org/2/library/abc.html#abc.abstractmethod .请注意,它不会强制层次结构中的每个级别都有自己的方法,但在任何情况下都是不可取的。编写一个足够通用的基础实现并仅在必要时覆盖会更好。

关于Python 单元测试。如何检查方法是否已实现而不是继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23474252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com