如何运行单元测试来验证某个URL是否调用特定函数?
我想做这样的事情:
class HomePageTest(TestCase):
def test_root_url_resolves_to_list_view(self):
found = resolve('/testme/')
self.assertEqual(found.func.func_name, ListView.__name__)
#self.assertEqual(found.func, ListView.as_view())
但是让我们假设应用程序urls.py包含在项目urls.py中,例如:
url(r'^submodule/$', include('fhqna.urls')),
如何编写应用程序中包含的测试,以便检查网址“/ testme /”独立于如何包含? (在这个例子中是“/ submodule / testme /”)?
答案 0 :(得分:2)
您可以配置urls for test case
class HomePageTest(TestCase):
urls = 'fhqna.urls'
def test_root_url_resolves_to_list_view(self):
found = resolve('/testme/')
self.assertEqual(found.func.func_name, ListView.__name__)
或者为您的网址命名,并使用此名称解析它,无论使用的是哪个网址。在这种情况下,您不需要为TestCase配置URL。