У меня есть набор тестов для фреймворка робота, который вызывает метод python. Я хотел бы, чтобы этот метод Python возвращал сообщение на консоль, не провалив тест. В частности, я пытаюсь рассчитать время процесса.
Я могу использовать «поднимать», чтобы вернуть сообщение на консоль, но это одновременно не проходит тест.
def doSomething(self, testCFG={}):
'''
Do a process and time it.
'''
testCFG['operation'] = 'doSomething'
startTime = time.time()
response=self.Engine(testCFG)
endTime = time.time()
duration = int(round(endTime-startTime))
raise "doSomething took", duration//60 , "minutes and", duration%60, "seconds."
errmsg = 'doSomething failed'
if testCFG['code']: raise Exception(errmsg)
Или я могу использовать «печать», чтобы вернуть сообщение в файл журнала и отчет, не провалив тест, но эта информация доступна только в отчете, но не в консоли.
def doSomething(self, testCFG={}):
'''
Do a process and time it.
'''
testCFG['operation'] = 'doSomething'
startTime = time.time()
response=self.Engine(testCFG)
endTime = time.time()
duration = int(round(endTime-startTime))
print "doSomething took", duration//60 , "minutes and", duration%60, "seconds."
errmsg = 'doSomething failed'
if testCFG['code']: raise Exception(errmsg)
Если я использую опцию «печать», я получаю это:
==============================================================================
Do Something :: Do a process to a thing(Slow Process). | PASS |
------------------------------------------------------------------------------
doSomething :: Overall Results | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
То, что я хочу, это:
==============================================================================
Do Something :: Do a process to a thing(Slow Process). | PASS |
doSomething took 3 minutes and 14 seconds.
------------------------------------------------------------------------------
doSomething :: Overall Results | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================