2014-12-09 6 views
2

Есть ли способ пропустить метод разрыва, если какой-либо из тестов не работает. Я попробовал -x вариант, но он пропускает только тестовые и не срывает. Я уверен, что должен быть какой-то способ, когда тестовый тест не работает, настройка, на которой он был выполнен, должна быть там для отладки.skip teardown, когда сбой тестовой системы

+0

Перед тем, как попытаться остановить разрывы: вы уверены, что ваш тестовый тест правильно определен? Если у вас есть веские причины для огромного сложного тестового случая, пожалуйста, не обращайте внимания (я угадываюсь здесь не в силе), но ощущение кишки говорит мне, что проблема действительно может быть связана с тестом, а не с необходимостью остановить разрыв. – Layna

+1

Остановить срыв, если сбой тестового теста обеспечит настройку в этом состоянии и будет легче отлаживать. Есть ли другой путь? – SKT

+0

Я больше дома в java, у которого действительно хорошие IDE и UnitTesting-системы, но разве ваша система не предоставляет способ установить контрольные точки для отладки? Я исхожу из предположения, что python не может быть этим разным :). – Layna

ответ

0

Один из способов как-то достичь его этот путь:

class TestClass(): 

    def setup(self): 
     print "I am in setup" 

    def teardown(self): 
     if getattr(self, 'is_fail', False): 
      return 
     print "I am in teardown" 

    def test_fail(self): 
     print "I am in test fail" 
     try: 
      assert False 
     except AssertionError as e: 
      setattr(self, 'is_fail', True) 
      raise e 

    def test_pass(self): 
     print 'I am in test pass' 
     try: 
      assert True 
     except AssertionError as e: 
      setattr(self, 'is_fail', True) 
      raise e 

Если вы запустите его, вы получите:

I am in setup
I am in test fail

I am in setup
I am in test pass
I am in teardwon

Но обратите внимание, что это не такая хорошая практика, чтобы поймать AssertionError в этом случае. Вы должны рассмотреть возможность поиска плагина носа или написать его самостоятельно.

+1

Несомненно. Попробуй это. Спасибо:) – SKT

 Смежные вопросы

  • Нет связанных вопросов^_^