私のDjangoアプリケーションの外部に面したAPIのユニットテストケースを作成しようとしています。私はtemp
とcontent
という2つのフィールドを持つモデルDummy
を持っています。次の関数は、content
フィールドを取得するために第三者から呼び出されます。 temp
は、インデックスされたユニークキーです。外部テスト機能をユニットテストする
@csrf_exempt
def fetch_dummy_content(request):
try:
temp = request.GET.get("temp")
dummy_obj = Dummy.objects.get(temp=temp)
except Dummy.DoesNotExist:
content = 'Object not found.'
else:
content = dummy_obj.content
return HttpResponse(content, content_type='text/plain')
以下のユニットテストケースがあります。
def test_dummy_content(self):
params = {
'temp': 'abc'
}
dummy_obj = mommy.make(
'Dummy',
temp='abc',
content='Hello World'
)
response = self.client.get(
'/fetch_dummy_content/',
params=params
)
self.assertEqual(response.status_code, 200)
self.assertEqual(response.content, 'Hello World')
私はテストケースを実行するたびに、それがexception
に入り、Object not found.
の代わりHello World
を返します。さらにデバッグすると、私はparams
にそれを渡していますが、要求オブジェクトのビュー内の関数からのtemp
は常にNone
であることがわかりました。
私は何かを見つけられず、理解できないかもしれません。これらの種類の機能をテストする適切な方法は何ですか?
ありがとうございました。 – Pattu