나는 파이썬 파일이 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 하고 싶습니다 . 이를위한 파일의 내용은 다음과 같습니다 .B
A
testa.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_value
mock_A
MagicMock
A
return_value
method_a