在 nose 中抑制特定类型的异常
Suppress a specific type of exceptions in nose
我为我最新的 Python 项目设置了一个 CI 管道(Gitlab CI 如果重要的话),并为我仍然想实现的东西添加了几个测试用例。在每个测试用例中,我都会提出一个 NotImplementedError
,因为它还没有实现。
import unittest
class GenericTest(unittest.TestCase):
def test_stuff(self):
"""I'll fill this in when I come around to it."""
raise NotImplementedError
一般来说,我希望这些测试失败,因为它们还不能正常工作。但是,当我推送到我的存储库并且测试在 CI 系统上是 运行 时,我想跳过这些测试。我已经知道他们会 'fail' 并且他们掩盖了实际失败的测试。
有没有办法抑制这些异常,或特定类型的异常(如IKnowThisWillFailError
),以便受影响的测试不计入'failed'?
try:
# code
except IKnowThisWillFailError:
pass
except:
# catch
那
呢
import unittest
class GenercTest(unittest.TestCase):
def test_stuff(self):
"""I'll fill this in when I come around to it."""
raise unittest.SkipTest("IKnowThisWillFail")
您的 CI 系统可能可以区分跳过和失败的测试
我为我最新的 Python 项目设置了一个 CI 管道(Gitlab CI 如果重要的话),并为我仍然想实现的东西添加了几个测试用例。在每个测试用例中,我都会提出一个 NotImplementedError
,因为它还没有实现。
import unittest
class GenericTest(unittest.TestCase):
def test_stuff(self):
"""I'll fill this in when I come around to it."""
raise NotImplementedError
一般来说,我希望这些测试失败,因为它们还不能正常工作。但是,当我推送到我的存储库并且测试在 CI 系统上是 运行 时,我想跳过这些测试。我已经知道他们会 'fail' 并且他们掩盖了实际失败的测试。
有没有办法抑制这些异常,或特定类型的异常(如IKnowThisWillFailError
),以便受影响的测试不计入'failed'?
try:
# code
except IKnowThisWillFailError:
pass
except:
# catch
那
呢import unittest
class GenercTest(unittest.TestCase):
def test_stuff(self):
"""I'll fill this in when I come around to it."""
raise unittest.SkipTest("IKnowThisWillFail")
您的 CI 系统可能可以区分跳过和失败的测试