如何使setUpClass中的python unittest失败?

2024-09-28 21:24:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python进行一些单元测试,并在setUpClass中进行一些测试前检查。如何在setUpClass中抛出unitest-fail,如下简单示例:

class MyTests(unittest.TestCase):

    @classmethod
    def setUpClass(cls):    
        unittest.TestCase.fail("Test")

    def test1(self):
        pass

if __name__ == '__main__':
    unittest.main()

给出错误TypeError: unbound method fail() must be called with TestCase instance as first argument (got str instance instead)

我知道fail得到的错误是一个实例方法,我还没有MyClass的实例。使用一个动态的实例

unittest.TestCase().fail("Test")

也不起作用,因为unittest.TestCase本身没有测试。当不满足setUpClass中的某些条件时,如何使MyClass中的所有测试失败?

后续问题:是否有办法查看setUpClass中的测试?


Tags: 实例instancetest示例maindef错误myclass
2条回答

使用一个简单的断言应该有效

assert False, "I mean for this to fail"

self.fail("test")放入安装实例方法的所有测试都失败

我认为在类级别上最简单的方法是创建一个类变量,如下所示:

@classmethod
def setUpClass(cls):
   cls.flag = False

def setUp(self):
   if self.flag:
       self.fail("conditions not met")

希望这是你想要的。

相关问题 更多 >