2016-05-04 3 views
1

я на основе моего кода вокруг этого: How to execute code only on test failures with python unittest2?Вызовите API на непрохождения теста со значимым сообщением

Но вместо скриншота я хочу вызвать API, чтобы сказать то же самое, как утверждают, когда тест терпят неудачу. Я могу использовать stacktrace как сообщение, это нормально (если возможно). Я попытался с модулем трассировки, но stacktrace был пуст.

@property 
def failureException(self): 
    class MyFailureException(AssertionError): 
     def __init__(self_, *args, **kwargs): 
      test_id = os.path.basename(__file__).split('_')[1] # file has the id for the API 
      client = getClient()     

      client.test_failed(test_id, comment=str('Failed')) 
      return super(MyFailureException, self_).__init__(*args, **kwargs) 

    MyFailureException.__name__ = AssertionError.__name__ 
    return MyFailureException 

, если я использую арг, я получаю: Правда не False, то для assertFalse. Это не полезно.

ответ

0

Основная проблема в том, вы должны передать осмысленное сообщение об ошибке:

self.assertFalse(True) # message == 'True is not False' 
self.assertFalse(True, 'We expected False for variable X, but got True') 
+0

Вот что я! – Lorac

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

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