Djangoテスト ドキュメントでは、「特定の URL に対して正しいビューが実行されることをテストする」ことができると約束しています。
ただし、どのビューが実行されたかをテストする方法は見つかりませんでした。Response
私はクラスでそれを期待しますが、実行されたビューについては何もありません。
前もって感謝します。
Djangoテスト ドキュメントでは、「特定の URL に対して正しいビューが実行されることをテストする」ことができると約束しています。
ただし、どのビューが実行されたかをテストする方法は見つかりませんでした。Response
私はクラスでそれを期待しますが、実行されたビューについては何もありません。
前もって感謝します。
このようにビュー関数名を抽出できます
from django.test.client import Client
c = Client()
response = c.get('/')
from django.core.urlresolvers import resolve
resolve(response.request["PATH_INFO"])[0].func_name
Dave の回答には、URL をテストするたびに HTTP リクエストが必要であり、遅くなる可能性があります。URL がどのビューに解決されるかを知りたいだけの場合は、を使用せずにそれを行うことができますClient
。
>>> from django.core.urlresolvers import get_resolver
>>> from myapp.views import func_to_test
>>> resolver = get_resolver(None)
>>> match = resolver.resolve('/some/path/')
>>> if match.func is func_to_test:
>>> print "correct function for resolution!"
ルート テストに関する Ryan Wilcox の投稿では、より詳細に説明されており、ルート テストをさらに簡単にするためのテクニックが提供されています。