以下のシナリオでは、パラメーターmock exampleget_name()
を持たないをモックする方法を知っていますが、引数として取る以下のシナリオをモックすることはできません。以下のモック関数を修正するのを手伝ってもらえますか?age
test_name
# data_source.py
def get_name(a):
return "Alice"+str(a)
def get_age():
return 30
Person クラスは、データ ソースからデータをフェッチするメソッドを公開します。
# person.py
from data_source import get_name
class Person(object):
def name(self):
age = get_age()
return get_name(age)
from mock import patch
from person import Person
@patch('person.get_name')
def test_name(mock_get_name):
mock_get_name.return_value = "Bob"
person = Person()
name = person.name()
assert name == "Bob"
前もって感謝します!