如果内部函数调用的响应是否定的,我需要登录并退出调用者函数。通常的方法是引发一个异常,但是我还有另一个要求不要引发异常,因为它可能表明这是一个内部错误,而不是预期的否定测试用例。但是您可以看到一遍又一遍地编写同一段代码是多余的,并且既浪费空间又浪费时间,而且我正在寻找一种自动执行此操作的方法(这样一来,我不必编写这些代码重复的代码行),例如使用Exceptions和assert语句的概念,而无需在python中显式引发Exception。
def wrapper(self):
response = None
try:
response = f1()
if response != POSITIVE:
self.logger.log('f1 failed.')
return response
response = f2()
if response != POSITIVE:
self.logger.log('f2 failed.')
return response
response = f3()
if response != POSITIVE:
self.logger.log('f3 failed.')
return response
except Exception as exp:
raise Exception('System Malfunction')
return response
此包装器在另一个函数调用中调用,其工作方式相同,您可以看到此循环如何继续。