---
slug: "django-のユニットテストで-request-を作るにはresponse-の-wsgi_request-を取得するのが楽"
title: "Django のユニットテストで Request を作るには、response の wsgi_request を取得するのが楽"
description: "Django のユニットテストを作っていいて、 Request (WSGIRequest) が欲しくなる場合がある。"
url: "https://www.ytyng.com/blog/django-のユニットテストで-request-を作るにはresponse-の-wsgi_request-を取得するのが楽"
publish_date: "2022-03-21T08:57:58Z"
created: "2022-03-21T08:57:58Z"
updated: "2026-02-27T01:22:56.578Z"
categories: ["Django"]
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20230812/1d38e7de767a45a3840b0f6597601695.png.webp?width=768"
has_video: false
has_music: false
video_urls: []
music_urls: []
lang: "ja"
---

# Django のユニットテストで Request を作るには、response の wsgi_request を取得するのが楽

<p>Django のユニットテストを作っていいて、 Request (WSGIRequest) が欲しくなる場合がある。</p>
<p><code>django.test.RequestFactory</code> というものがあるので、これを使うとリクエストを作れるが、作るのがけっこう大変な上、ミドルウェアを通過していないリクエストのためビュー相当のテストをする時に使うのが難しい。</p>
<p>それより、テストクライアントを使って実際に適当なビューにリクエストを行うと、返ってきたレスポンスの中に <code>wsgi_request</code> というリクエストプロパティがついてくるので、これを使ったほうが楽。ミドルウェアも通過したものになっている。</p>
<pre>client = self.client_class()<br />response = client.post(...)<br />request = response.wsgi_request</pre>
<p></p>
