有没有办法“捕获”sys.exit()
在测试期间打印出的错误消息并将其与另一个字符串进行比较?
一些背景知识:在我正在处理的 Python 脚本中,我一直在使用sys.exit()
打印出更具体的错误消息(并避免通常出现的回溯)。
try:
do_something()
except IOError:
sys.exit('my error message')
其他时候,我只使用常规消息(尤其是使用 ConfigParser):
except ConfigParser.NoSectionError as err:
sys.exit(err)
我想在那里捕获错误消息,并可能使用 anassertIs(err, 'my intended error message')
进行比较。
我正在处理的脚本同时具有 Python 2 和 3 版本,因此如果它们之间存在差异,我将不胜感激。