how to get the traceback of failed test (unittest) in the tearDown() function(如何在tearDown()函数中获取失败测试(Unittest)的回溯)
问题描述
我希望将我运行的每个失败测试的所有异常的所有回溯保存到外部文件中。 我希望使用unittest的teardown,而不是在每个测试中使用try和Except,这样会更通用。
类似:
问题是,无法使用tearDown中的回溯调用您在test_ome_test中获得的异常(tracebacke返回NONE)
有什么建议吗?
推荐答案
所以在我检查了一大段单元测试代码后,我找到了一个解决方案!
TestCase
类具有_outcome
属性。_outcome
有一个名为errors
的列表类型属性。
errors[0][1]
是与包含回溯的sys.exc_info()
输出完全相同的元组。现在我有了这个元组,我可以在
traceback.format_exception()
中使用它,就像traceback.format_exc()
使用它并解决问题一样。
这篇关于如何在tearDown()函数中获取失败测试(Unittest)的回溯的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!