项目包含时如何对 urls.py 进行单元测试?
How to unit test urls.py when included by project?
如何运行单元测试来验证某个 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/
我如何编写包含在应用程序中的测试,以便它检查 url "/testme/" 独立于它是如何包含的? (本例中为“/submodule/testme/”)?
, include('fhqna.urls')),
我如何编写包含在应用程序中的测试,以便它检查 url "/testme/" 独立于它是如何包含的? (本例中为“/submodule/testme/”)?
您可以配置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__)
或者为您的 url 命名并使用此名称解析它,而不考虑实际使用的 url。在这种情况下,您不需要为 TestCase 配置 urls。
如何运行单元测试来验证某个 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/
我如何编写包含在应用程序中的测试,以便它检查 url "/testme/" 独立于它是如何包含的? (本例中为“/submodule/testme/”)?
, include('fhqna.urls')),我如何编写包含在应用程序中的测试,以便它检查 url "/testme/" 独立于它是如何包含的? (本例中为“/submodule/testme/”)?
您可以配置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__)
或者为您的 url 命名并使用此名称解析它,而不考虑实际使用的 url。在这种情况下,您不需要为 TestCase 配置 urls。