Python 3单元测试,创建单例类函数的模拟
我正在为我的项目创建单元测试 我有一个名为TimerHandler的类需要测试。此类使用名为AudioHandler的类。这两个类都是单例。请参阅下面的代码 timer_handler.pyPython 3单元测试,创建单例类函数的模拟,python,python-3.x,unit-testing,mocking,Python,Python 3.x,Unit Testing,Mocking,我正在为我的项目创建单元测试 我有一个名为TimerHandler的类需要测试。此类使用名为AudioHandler的类。这两个类都是单例。请参阅下面的代码 timer_handler.py class TimerHandler(metaclass=Singleton): def play(self): # some code that needs to be tested AudioHandler().start() class AudioHand
class TimerHandler(metaclass=Singleton):
def play(self):
# some code that needs to be tested
AudioHandler().start()
class AudioHandler(metaclass=Singleton):
def start(self):
# some code that connects with an audio device
音频处理器.py
class TimerHandler(metaclass=Singleton):
def play(self):
# some code that needs to be tested
AudioHandler().start()
class AudioHandler(metaclass=Singleton):
def start(self):
# some code that connects with an audio device
我试图模拟AudioHandler的start方法,因此它只返回None,而不会尝试连接到音频设备。单元测试如下所示:
@patch.object(AudioHandler, 'start', return_value=None)
def test_play_pause(self, start):
self.timer_handler.play()
问题是它仍在运行AudioHandler中原始启动函数中的代码
如何编写删除/模拟AudioHandler中启动函数功能的测试函数
提前谢谢