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

Ale*_*lex 31 python unit-testing python-2.7

我正在做一些python和一些预测试的单元测试setUpClass.我如何抛出一个unitest- failsetUpClass下面,如下面的简单例子:

class MyTests(unittest.TestCase):

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

    def test1(self):
        pass

if __name__ == '__main__':
    unittest.main()
Run Code Online (Sandbox Code Playgroud)

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

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

unittest.TestCase().fail("Test")
Run Code Online (Sandbox Code Playgroud)

也不起作用,因为unittest.TestCase它本身没有测试.任何想法如何MyClasssetUpClass没有达到某些条件的情况下失败所有测试?

后续问题:有没有办法看到测试setUpClass

Rau*_*fio 44

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

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

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

def setUp(self):
   if self.flag:
       self.fail("conditions not met")
Run Code Online (Sandbox Code Playgroud)

希望这是你想要的.


Gre*_*reg 33

使用简单的断言应该有效

assert False, "I mean for this to fail"
Run Code Online (Sandbox Code Playgroud)