gpt4 book ai didi

python - setUpClass 失败时如何清理 Python 单元测试?

转载 作者:太空宇宙 更新时间:2023-11-03 12:40:37 25 4
gpt4 key购买 nike

假设我有以下 Python 单元测试:

import unittest

def Test(unittest.TestCase):
@classmethod
def setUpClass(cls):
# Get some resources
...

if error_occurred:
assert(False)

@classmethod
def tearDownClass(cls):
# release resources
...

如果 setUpClass 调用失败,则不会调用 tearDownClass,因此永远不会释放资源。如果下一次测试需要资源,那么在测试运行期间就会出现问题。

有没有办法在 setUpClass 调用失败时进行清理?

最佳答案

可以在setUpClass方法中放一个try catch,在except中直接调用tearDown。

def setUpClass(cls):
try:
# setUpClassInner()
except Exception, e:
cls.tearDownClass()
raise # to still mark the test as failed.

需要外部资源来运行单元测试是不好的做法。如果这些资源不可用,并且您需要测试部分代码是否存在奇怪的错误,您将无法快速运行它。尝试区分集成测试和单元测试。

关于python - setUpClass 失败时如何清理 Python 单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17538198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com