2 回答

TA贡献1863条经验 获得超2个赞
实际上,与我上面的评论相反,我认为您需要的是一种setUpClass
方法。从文档中,
如果在setUpClass期间引发异常,则不会运行该类中的测试,也不会运行tearDownClass。[...]如果该异常是SkipTest异常,则该类将被报告为已跳过而不是错误。
因此,这样的事情应该起作用(我敢肯定它会更整洁):
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

TA贡献1789条经验 获得超10个赞
我没有建议如何避免运行“依赖”测试,但是我有建议您如何更好地使用它们:使依赖关系更加明显,从而使以后分析测试失败更加容易。一种简单的可能性如下:
在测试代码中,将用于较低级别方面的测试放在文件的顶部,而将更具依赖性的测试放在底部。然后,当几个测试失败时,请首先查看最接近文件顶部的测试。
添加回答
举报