我正在尝试为我正在嘲笑的类设置方法的返回值:
foo.py
class Foo:
def bar(self):
return {'a': 'b', 'c': 'd'}
class Beef:
def __init__(self):
self.foo = Foo()
def run(self):
val = self.foo.bar()
return val['a']
test_foo.py
import unittest
from unittest.mock import patch
from foo import Beef
class TestBeef(unittest.TestCase):
@patch('foo.Foo')
def test_run(self, mock_foo):
mock_foo.bar.return_value = {'a': 'x'} # how to do this?
beef = Beef()
assert result == {'a': 'x'}
这无法模拟该方法。由于这是一个简化的示例,因此我需要模拟整个 Foo 类。在我的实际场景中,有很多初始化代码。
如何模拟已被模拟的类的方法?
动漫人物
慕无忌1623718
相关分类