2011-04-08 31 views
7

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

我知道我可以在我的应用程序(在views.py)中创建一个测试视图,并从项目ROOT_URLCONF指向它,但我不想强制用户在使用我的应用程序时要这样做,并且想要测试我的中间件类。

任何想法?

谢谢。

+0

对不起回合的重新标记,我missclicked:■ – Exelian 2011-04-08 13:40:25

回答

7

是的,如果您使用的是django.test.TestCase,则可以。这里是设置URL配置特定测试用例文档: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' 
+0

尼斯。谢谢。再次...我应该仔细阅读。 :) – 2011-04-09 02:44:26