Djangoでユニットテストを書く際にテストクライアントを使うことができますが、これはurls.pyを用意しないと使えません。
しかし、ビュー関数のみをテストする場合、Requestクラスのオブジェクトが必要になります。
django.test.client.RequestFactoryを使えば、GETやPOSTメソッドのRequestオブジェクトを簡単に生成できます。
試したバージョンは、Python2.7.2、Django1.4。
views.py
from django.http import HttpResponse def my_view(request): return HttpResponse("OK")
このmy_view関数をテストする。
tests.py
from django.test import TestCase from django.test.client import RequestFactory from testapp.views import my_view class MyViewTest(TestCase): def test_get_request(self): rf = RequestFactory() # /test/ をGETメソッドでリクエストした場合のオブジェクト request = rf.get('/test/') # view関数呼び出し response = my_view(request) # 結果を検証 self.assertEqual(response.content, "OK")
2012/5/14追記
後で気づいたんだけど、テスト対象のコード例があんまり良くないね。この例だとrequestは何でもいい。実際にはrequestの内容を使ってフォーム生成とか各種値を読み取ったりしてるので、そう読み替えてください。