gpt4 book ai didi

python - 如何在运行时跳过整个 Python 'unittest' 模块?

转载 作者:IT老高 更新时间:2023-10-28 20:25:48 26 4
gpt4 key购买 nike

我希望我的 Python unittest 模块告诉测试运行器在某些情况下(例如无法导入模块或定位关键资源)完全跳过它。

我可以使用 @unittest.skipIf(...) 跳过 unittest.TestCase 类,但是如何跳过整个模块 ?将跳过应用于每个类是不够的,因为如果模块导入失败,类定义本身可能会导致异常。

最佳答案

如果看unittest.skipIfunittest.skip的定义,可以看出关键是在做raise unittest.SkipTest(reason) 执行测试时。如果您可以将它显示为 one 在测试运行程序中跳过测试而不是几个,您可以简单地在导入时自己提出 unittest.SkipTest:

import unittest
try:
# do thing
except SomeException:
raise unittest.SkipTest("Such-and-such failed. Skipping all tests in foo.py")

使用 nosetests -v 运行会得到:

Failure: SkipTest (Such-and-such failed. Skipping all tests in foo.py) ... SKIP:
Such-and-such failed. Skipping all tests in foo.py

----------------------------------------------------------------------
Ran 1 test in 0.002s

OK (SKIP=1)

关于python - 如何在运行时跳过整个 Python 'unittest' 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12487532/

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