У меня есть подобное утверждение -
obj_instance_1 = SomeType(a=1,b=2,c=3)
//invoke the test function
mock_calls = [
mock.call(param1=obj_instance_1, param2=mocked_obj),
mock.call(param1=obj_instance_1, param2=mocked_obj),
]
mock_instance.assert_has_calls(mock_calls)
assert_has_calls
утверждение не выполняется с ошибкой -
Expected: [call(param2=<MagicMock name='SomeName' id='140133686336928'>, param1=<SomeType(a=1,b=2,c=3)>),
call(param2=<MagicMock name='SomeName' id='140133686336928'>, param1=<SomeType(a=1,b=2,c=3)>)]
Actual:
[call(param2=<MagicMock name='SomeName' id='140133686336928'>, param1=<SomeType(b=2,a=1,c=3)>),
call(param2=<MagicMock name='SomeName' id='140133686336928'>, param1=<SomeType(b=2,a=1,c=3)>)]
Единственное отличие, которое я вижу, это порядок атрибутов объекта param1 отличаются в ожидаемых и фактических. Но значения атрибутов объекта совпадают. Почему это может привести к провалу теста?