Django unittest's:如何使用临时url conf为unittest设置临时视图

时间:2011-04-08 13:27:21

标签: django unit-testing

我创建了几个中间件类,并希望现在针对一些真实的视图测试它们。由于我的应用程序不包含任何视图或url conf本身,我想知道是否有办法临时创建视图和url配置只是为了测试(类似于测试数据库)Django的测试框架。最后,我想使用测试客户端来检查这些临时视图,以防止来自中间件的错误。我没有在文档中找到解决方案。

我知道我可以在我的应用程序中创建一个测试视图(在views.py中)并从项目ROOT_URLCONF指向它,但我不想强迫用户在使用我的应用程序并想要测试时执行此操作我的中间件课程。

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:7)

是的,如果您使用django.test.TestCase,这是可能的。以下是有关为特定测试用例设置网址配置的文档:https://docs.djangoproject.com/en/1.8/topics/testing/tools/#urlconf-configuration

当我在过去这样做时,我通常会像子应用程序(没有模型)一样分解我的测试套件:

tests
    __init__.py
    urls.py
    views.py
    base.py

然后在测试用例中设置:

class MiddlewareTestCase(TestCase):
    urls = 'appname.tests.urls'