Python 中用于单元测试的单例析构函数
Singleton destructor for unit testing in Python
我需要在 Python (2.7) 中实现单例模式并用单元测试覆盖代码。
下面是我使用的代码:
class Singleton(object):
def __new__(cls):
if not hasattr(cls, 'instance'):
cls.instance = super(Singleton, cls).__new__(cls)
return cls.instance
为了使单元测试独立,我需要为此实现一个析构函数class。如何做到这一点?
您可以只删除 instance
属性:
del Singleton.instance
如果你是子class这个,你可以把它变成一个class方法:
@classmethod
def clear_instance(cls):
del cls.instance
我需要在 Python (2.7) 中实现单例模式并用单元测试覆盖代码。
下面是我使用的代码:
class Singleton(object):
def __new__(cls):
if not hasattr(cls, 'instance'):
cls.instance = super(Singleton, cls).__new__(cls)
return cls.instance
为了使单元测试独立,我需要为此实现一个析构函数class。如何做到这一点?
您可以只删除 instance
属性:
del Singleton.instance
如果你是子class这个,你可以把它变成一个class方法:
@classmethod
def clear_instance(cls):
del cls.instance