How can I test in pytest-mock whether a method has been called with a corresponding object or not?
My object is the following:
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
My test is the following:
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)
At the moment I get the error message:
assert ('text...7fbe9b2ae4e0>) == ('text...7fbe9b2b5470>)
It seems that pytest checks if both objects have identical adresses. I just want to check if both objects have the same parameters. How can I check this?