繁体   English   中英

如何在setUpClass中使python单元测试失败?

[英]How to fail a python unittest in setUpClass?

我正在使用python进行一些单元测试,并在setUpClass一些预测试。 我如何可以抛出一个unitest - fail的内setUpClass ,如下面的简单的例子:

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)

我理解我得到的错误是失败是一个实例方法,我还没有MyClass的实例。 像实时使用实例一样

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

也不起作用,因为unittest.TestCase本身没有测试。 有什么想法,如果setUpClass某些条件,如何在MyClass失败所有测试?

后续问题:有没有办法在setUpClass查看测试?

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

我认为在类级别执行此操作的最简单方法是创建类变量,如下所示:

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

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

希望这是你想要的。

使用简单的断言应该有效

assert False, "I mean for this to fail"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM