【问题标题】:Ignore a specific test using Django [duplicate]使用 Django 忽略特定测试 [重复]
【发布时间】:2013-10-08 13:47:31
【问题描述】:

我知道如何使用 django 运行特定的测试类:python manage.py test MyApp.MyTestClass

我想做的是相反的:运行所有测试,除了一个特别的。 在我看来,这看起来像这样:python manage.py test --ignore=MyApp.MyTestClass 有没有简单的方法?

编辑:额外的好处是仍然能够手动运行测试(使用第一个命令)。

【问题讨论】:

    标签: python django


    【解决方案1】:

    test 命令没有内置的忽略选项。

    但您可以在要排除的类中使用 @skip@skipIf 装饰器:http://docs.python.org/2.7/library/unittest.html#unittest.skipIf

     import unittest
    
     @unittest.skip("skip the test")
     class MyTestClass(TestCase):
     ...
    

    【讨论】:

    • 我添加了一个额外的需求,这个解决方案不容易满足(据我所知)。
    • skip 对类有效,但 skipIf 没有。您必须在每个测试功能上使用 skipIf。不过,这仍然是有条件地跳过测试的好方法。
    【解决方案2】:

    测试命令默认没有忽略选项。你可以试试django-ignoretests。您可以使用安装它

    pip install django-ignoretests
    

    您可以通过将应用包含在IGNORE_TESTS 中来忽略应用,如下所示:

    IGNORE_TESTS = (
        # Apps to ignore. example : 'django.contrib.auth',
    )
    

    【讨论】:

      猜你喜欢
      • 2013-03-30
      • 1970-01-01
      • 2011-01-23
      • 1970-01-01
      • 2019-12-11
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 1970-01-01
      相关资源
      最近更新 更多