def assertion_msg(message: str, *args):
"""This will:
* print the custom assertion message
* print the traceback (stack trace)
* raise the original AssertionError exception
:param message: message that will be printed & logged when assertion fails
:param args: values that will replace % conversion specifications in
message like: %s, %d
"""
try:
yield
except AssertionError as e:
if args:
message = message % args
logging.error(message)
e.args += (message,)
_, _, tb = sys.exc_info()
traceback.print_tb(tb)
raise
评论列表
文章目录