gpt4 book ai didi

python - 忽略依赖于其他测试成功的单元测试

转载 作者:太空宇宙 更新时间:2023-11-03 11:32:00 24 4
gpt4 key购买 nike

在编写单元测试时,经常会发生某些测试“依赖”其他测试的情况。

例如,假设我有一个测试来检查我是否可以实例化一个类。我还有其他测试可以直接进行并实例化它,然后测试其他功能。

我们还假设类无法实例化,无论出于何种原因。

这会导致大量测试出错。这很糟糕,因为我看不出真正的问题出在哪里。我需要的是一种在我的实例化测试失败时跳过这些测试的方法。

有没有办法用 Python 的 unittest 模块做到这一点?

如果这不是我应该做的,我应该怎么做才能在出现问题时查看问题的真正所在?

最佳答案

实际上,与我上面的评论相反,我认为您需要的是 setUpClass 方法。来自 the docs ,

If an exception is raised during a setUpClass then the tests in the class are not run and the tearDownClass is not run. [...] If the exception is a SkipTest exception then the class will be reported as having been skipped instead of as an error.

所以像这样的东西应该可以工作(我相信它可以更整洁):

class TestMyClass(unittest.TestCase):
@classmethod
def setUpClass(cls):
# run the constructor test
if constructor_test_failed:
raise unittest.SkipTest("Constructor failed")

def test_other_stuff(self):
# will get run after setUpClass if it succeeded

关于python - 忽略依赖于其他测试成功的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16760786/

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