Я ищу способ имитировать метод класса perforce как метод экземпляра внутри моего класса.
Вот что у меня есть
my_test.py
import P4
class MyTest():
def __init__(self):
self.p4 = P4.P4()
self.p4.connect()
def run(self):
self.files = self.p4.run('files', 'my-files-path')
По сути, я не хочу, чтобы мой модульный тест отправлял триггерное реальное принудительное соединение. Вот мой тестовый код.
test_my_test.py
from my_test import MyTest
from mock import patch
import P4
class Test():
def test_answer(self):
mock_p4_return = [
{'depotFile': '//path1/'},
{'depotFile': '//path1/'},
]
my_test = MyTest()
with patch.object(P4, 'run', return_value=mock_p4_return):
my_test.run()
assert my_test.files == mock_p4_return
Но я получил эту ошибку
AttributeError: не имеет атрибута run