Я использую насмешку над тестами.Django: Как я могу высмеять request.session зрения?
tests.py
@patch('orders.views.OrderView.generate_merchant_uid')
def test_expected_price_is_registered_on_GET_request(self, mock_generate_merchant_uid):
self.client.get(reverse('orders:order'))
views.py
class OrderView(LoginRequiredMixin, View):
def generate_merchant_uid(self):
merchant_uid = "blah_blah_blah"
return merchant_uid
def get(self, request, *args, **kwargs):
merchant_uid = self.generate_merchant_uid()
request.session['merchant_uid'] = merchant_uid
return HttpResponse('a')
Это происходит ошибки:
TypeError: <MagicMock name='generate_merchant_uid()' id='4431843456'> is not JSON serializable
Это происходит ошибка, потому что я издевался generate_merchant_uid
и его RETU rns MagicMock
и View
пытается сохранить это MagicMock
в request.session
.
Я думаю, что мне нужно сделать, чтобы издеваться над request.session
.
Но понятия не имею, как я могу это сделать.
Нужны советы. Благодарю.
Вы меня спасти! Спасибо, леви! – user3595632