2017-08-24 112 views

回答

2

這樣做的典型方法是使用skipIf and skipUnless。您可以使用它們跳過整個測試用例或特定測試。

from unittest import skipIf 

from django.conf import settings 
from django.test import TestCase 


@skipIf(settings.MY_SETTING == 'whatever') 
class MyTestCase(TestCase): 
    # ... 
    pass 


class MyTestCase2(TestCase): 

    @skipIf(settings.MY_SETTING == 'whatever') 
    def test_something(self): 
     # ... 
     pass 
+0

不錯,那對我來說是新的,tx! – sergiuz

2

您可以創建自己的testcommand,通過擴展django的test命令。

在那裏你會檢查設置並優先運行測試。

from django.core.management import CommandError 
from django.core.management.commands.test import Command as TestCommand 


class Command(TestCommand): 

    def __init__(self): 
     from django.conf import settings 
     try: 
      if not settings.TEST_SETTING: 
       raise CommandError('Command error') 
     except: 
      raise CommandError('Command Error') 
     super(Command, self).__init__() 
相關問題