DjangoでコードテストをViewクラスに対して行う
基本的なコードの書き方は同じだが、Viewの場合は、URL経由でおこなう必要がある。
テストコードの基本的な書き方は、こちらを参照
REST APIでおこなっていることを前提とした例は次のようになる。
GETメソッド
from django.test import TestCase,Client
def test_TestView(self):
response = self.client.get(
path='/api/[path]/',
content_type='application/json',
)この場合は、getメソッドを利用して、pathに対してリクエストをおこなっている。
パラメータを付けたい場合は次のようにする。
from django.test import TestCase,Client
def test_TestView(self):
response = self.client.get(
path='/api/[path]/',
content_type='application/json',
data={'[key]' : '[value]'},
)dataに対してディクショナリ型で設定をする。
POSTメソッド
from django.test import TestCase,Client
def test_TestView(self):
response = self.client.post(
path='/api/[path]/',
content_type='application/json',
data={'[key]' : '[value]'},
)dataに対してポストするデータを設定するが、本件の前提である、REST APIの場合は、jsonデータを設定するのが望ましい。
また、通常のリクエストの際も、ディクショナリ型を設定することでデータを送信することが可能。
レスポンスのデータ
リクエスト後のレスポンスで、受け取った内容から、返却されたjsonを取得する場合は、 response.data で取得することができる。
その際、すでにディクショナリーの型になっているため、ディクショナリとして処理が可能。


