나는 파이썬 파일이 a.py두 개의 클래스가 들어 A와 B.
class A(object):
def method_a(self):
return "Class A method a"
class B(object):
def method_b(self):
a = A()
print a.method_a()
나는 조롱 method_b하여 수업 에서 unittest 하고 싶습니다 . 이를위한 파일의 내용은 다음과 같습니다 .BAtesta.py
import unittest
import mock
import a
class TestB(unittest.TestCase):
@mock.patch('a.A')
def test_method_b(self, mock_a):
mock_a.method_a.return_value = 'Mocked A'
b = a.B()
b.method_b()
if __name__ == '__main__':
unittest.main()
나는 Mocked A출력을 기대합니다 . 그러나 내가 얻는 것은 :
<MagicMock name='A().method_a()' id='4326621392'>
내가 어디에서 잘못하고 있습니까?
A()반환합니다 . 당신은 설정해야합니다 정의 된 무언가가 될 .return_valuemock_AMagicMockAreturn_valuemethod_a