У меня есть метод экземпляра в классе формы Django, который возвращает объект Python из службы платежей, если он успешный.С трудом насмешливый объект, возвращаемый исправленной функцией
Объект имеет свойство id
, которое затем сохраняется на экземпляре модели Django.
У меня возникли трудности с получением издеваемого объекта, чтобы вернуть его свойство .id
.
# tests.py
class DonationFunctionalTest(TestCase):
def test_foo(self):
with mock.patch('donations.views.CreditCardForm') as MockCCForm:
MockCCForm.charge_customer.return_value = Mock(id='abc123')
# The test makes a post request to the view here.
# The view being tested calls:
# charge = credit_card_form.charge_customer()
# donation.charge_id = charge.id
# donation.save()
Однако:
print donation.charge_id
# returns
u"<MagicMock name='CreditCardForm().charge_customer().id'
Я ожидал увидеть "ABC123" для donation.charge_id
, но вместо этого я вижу юникода представление MagicMock
. Что я делаю не так?