Как я могу проверить в pytest-mock, был ли вызван метод с соответствующим объектом или нет?
Мой объект следующий:
class Obj:
def __init__(self):
self.__param = []
self.__test = []
@property
def param(self):
return self.__param
@param.setter
def param(self, value):
self.__param = value
# both methods: getter and setter are also available for the self.__test
# This is just a dummy test object
class Test:
def call_method(self, text:str):
obj = Obj()
obj.param = [("test", "1"), ("test2", "2")]
self.test_call(text, obj)
def test_call(self, text:str, object: Obj):
pass
Мой тест следующий :
def test_method(mocker):
mock_call = mocker.patch.object(Test, "test_call")
test = Test()
test.call_method("text")
expected_obj = Obj()
expected_obj.param = [("test", "1"), ("test2", "2")]
mock_call.assert_called_once_with("text", expected_obj)
На данный момент я получаю сообщение об ошибке:
assert ('text...7fbe9b2ae4e0>) == ('text...7fbe9b2b5470>)
Кажется, что pytest проверяет, имеют ли оба объекта одинаковые адреса. Я просто хочу проверить, имеют ли оба объекта одинаковые параметры. Как это проверить?