python - 用于 Python 单元测试的单例析构函数

标签 python unit-testing singleton

我需要在 Python (2.7) 中实现单例模式并使用单元测试覆盖代码。

下面是我使用的代码:

class Singleton(object):
    def __new__(cls):
        if not hasattr(cls, 'instance'):
             cls.instance = super(Singleton, cls).__new__(cls)
        return cls.instance

为了使单元测试独立,我需要为此类实现一个析构函数。如何做到这一点?

最佳答案

您可以只删除instance属性:

del Singleton.instance

如果您要对其进行子类化,则可以将其设为类方法:

@classmethod
def clear_instance(cls):
    del cls.instance

关于python - 用于 Python 单元测试的单例析构函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31426026/

相关文章:

python - 检测白色背景图像中的轮廓

javascript - 使用具有动态函数绑定(bind)的测试 spy 的好方法

java - log4j中使用的模式是什么

java - 单例类如何使用接口(interface)?

design-patterns - Singleton 是否违反了单一职责原则?

python - python 中的日期时间荒谬错误

python - 正则表达式匹配变量并从python中的匹配行获取引号内的单词

python - 如何在 Tkinter 中获取文本结束位置的行和列?

php - 正确的单元测试

objective-c - 如何从目标文件访问 swift 文件,而它们都在单元测试中?