我正在尝试修补一个类,让一个被测函数创建一个修补类的实例,让该实例调用一个类函数,然后我想测试该类函数是否被调用。我怎样才能做到这一点?
以下是我的代码的基本变体:
测试文件:
class TestChannel(unittest.TestCase):
@patch("notification.models.Channel")
def testAddChannelWithNamePutsChannel(self, *args):
addChannelWithName("channel1")
self.assertTrue(Channel.put.called)
要测试的代码:
def addChannelWithName(name):
channel = Channel(name = name)
channel.put()
基本上,我想测试调用了 channel.put() 。当然,这段代码不起作用,因为我正在检查类函数 put() 是否不是为实例调用的,而是在一般情况下调用的。我需要在实例上调用它才能通过。我已经尝试了几种模拟 Channel 类不同部分的变体,它是返回值,但我似乎无法让它工作。我该怎么做?非常感谢!