如何运行单元测试来验证某个 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')),
如何编写应用程序中包含的测试,以便它检查 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__)
或者为您的网址命名并通过该名称解析它,无论使用实际的网址。在这种情况下,您不需要为 TestCase 配置 url。
关于python - 当项目包含时如何对 urls.py 进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27736718/