Emo*_*ons 4 python singleton unit-testing
我需要在 Python (2.7) 中实现单例模式并使用单元测试覆盖代码。
下面是我使用的代码:
class Singleton(object):
def __new__(cls):
if not hasattr(cls, 'instance'):
cls.instance = super(Singleton, cls).__new__(cls)
return cls.instance
Run Code Online (Sandbox Code Playgroud)
为了使单元测试独立,我需要为此类实现一个析构函数。如何才能做到这一点?
您只需删除该instance属性即可:
del Singleton.instance
Run Code Online (Sandbox Code Playgroud)
如果您要对其进行子类化,则可以将其设为类方法:
@classmethod
def clear_instance(cls):
del cls.instance
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6643 次 |
| 最近记录: |