मैं कोशिश कर रहा हूँ का उपयोग करने के लिए assert_called_once_with से unittest.नकली https://docs.python.org/3/library/unittest.mock.html#unittest.mock.Mock.assert_called_once_with
लेकिन मैं चाहता हूँ अगर जाँच करने के लिए 2 उदाहरणों की वस्तुओं को पारित कर दिया गया है के साथ ते सही गुण है ।
अंदर तो मैं कक्षा overrided के __eq__
समारोह:
def __eq__(self, other):
return (
self.id == other.id
and self.users == other.users
)
और में कोड मैं इस्तेमाल इस तरह
mock_add_user.assert_called_once_with(context_fix, expected_user_obj1, expected_user_obj2, users)
लेकिन मैं रखने के लिए एक त्रुटि हो रही है और teste रहता है की तुलना repr के उदाहरण के लिए, इस तरह
<app.domain.model.load_md.Load object at 0x10cb7d7d0>
E AssertionError: Expected call: add_user(<app.infrastructure.context.Context object at 0x10cb7da50>, <app.domain.model.load_md.Load object at 0x10cb7d7d0>, <app.domain.model.load_md.Load object at 0x10cb7d550>, [1, 2, 3, 2])
E Actual call: add_user(<app.infrastructure.context.Context object at 0x10cb7da50>, <app.domain.model.load_md.Load object at 0x10ca7f5d0>, <app.domain.model.load_md.Load object at 0x10cd1e650>, [1, 2, 3, 2])
मैं वास्तव में एक तरह की जरूरत पर जोर करने के लिए, तो एक उदाहरण के एक वस्तु किया जा रहा है के रूप में पारित एक पैरामीटर के समारोह के साथ सही गुण भर दिया ।