如何运行单元测试以验证某个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 /”)?
最佳答案
您可以配置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/