No active exception to reraise(没有要重新激活的活动异常)
本文介绍了没有要重新激活的活动异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
先简单介绍一下背景。 我必须运行一些单元测试。唯一的问题是,客户希望以Word文档的形式报告失败的测试,并提供一些我可以轻松添加的附加信息。 到目前为止,我所做的是这样的。
我已经编写了一个小函数,它将使用python-docx在Word文档中写入内容。 我的想法是捕捉AssertEquity抛出的异常。在Catch块中,我将调用我的函数将内容写入Word文档,然后再次引发异常,以便失败的单元测试的旧行为仍在发生。
class MyTestCase(unittest.TestCase):
def test_something(self):
try:
x = 1
y = 2
self.assertEqual(x, y)
except AssertionError:
writeToDocument(x, y, self.id().split('.')[-1], 'These values should be equal')
raise
if __name__ == '__main__':
unittest.main()
至少我是这么想的。我想我错过了什么。当我运行测试时,我看到了这个错误。在调用文档方法后引发异常时引发此错误。
RuntimeError: No active exception to reraise
知道我把异常处理搞砸了吗?
推荐答案
如果它以某种方式丢失了对错误的引用,请尝试使用except AssertionError as err
显式传递它。
class MyTestCase(unittest.TestCase):
def test_something(self):
try:
x = 1
y = 2
self.assertEqual(x, y)
except AssertionError as err:
writeToDocument(x, y, self.id().split('.')[-1], 'These values should be equal')
raise err
if __name__ == '__main__':
unittest.main()
这篇关于没有要重新激活的活动异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:没有要重新激活的活动异常


猜你喜欢
- 使用公司代理使Python3.x Slack(松弛客户端) 2022-01-01
- CTR 中的 AES 如何用于 Python 和 PyCrypto? 2022-01-01
- 我如何卸载 PyTorch? 2022-01-01
- 计算测试数量的Python单元测试 2022-01-01
- 如何使用PYSPARK从Spark获得批次行 2022-01-01
- ";find_element_by_name(';name';)";和&QOOT;FIND_ELEMENT(BY NAME,';NAME';)";之间有什么区别? 2022-01-01
- YouTube API v3 返回截断的观看记录 2022-01-01
- 我如何透明地重定向一个Python导入? 2022-01-01
- 检查具有纬度和经度的地理点是否在 shapefile 中 2022-01-01
- 使用 Cython 将 Python 链接到共享库 2022-01-01