gpt4 book ai didi

python - 如何模拟 '__init__'方法调用的方法

转载 作者:行者123 更新时间:2023-12-01 08:17:25 25 4
gpt4 key购买 nike

我的类(class)就像

import a

class Demo(object):
def __init__(self):
......
fun_return_value = a.methodB()
......

def methodA(self):
......

测试类如下所示

class TestDemo(test.TestCase):

def setUp(self):
super(TestDemo, self).setUp()

def test_methodA(self):
......

当我想做methodA的单元测试时,有一个问题,我必须模拟a.methodB。但是我该怎么做呢?我检查了文档,没有发现任何结果。问问别人,在类TestDemo的头部使用@mock.patch("a.methodB")。就像

    @mock.patch("a.methodB")
class TestDemo(test.TestCase):

def setUp(self, mock_methodB):
super(TestDemo, self).setUp()
mock_methodB.return_value=None

def test_methodA(self):
......

但是没有成功,如何模拟“init”方法调用的方法?

最佳答案

已经找到解决问题的方法。

class TestDemo(test.TestCase):
def setUp(self):
super(TestDemo, self).setUp()
self.mocks = [mock.patch('a.methodB',
mock.MagicMock(return_value=None))]
for single_mock in self.mocks:
single_mock.start()
self.addCleanup(single_mock.stop)

关于python - 如何模拟 '__init__'方法调用的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54899511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com