我正在使用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
本身没有测试。如果MyClass
中的某些条件未满足,setUpClass
中的所有测试都会失败?
后续问题:有没有办法在setUpClass
中查看测试?
答案 0 :(得分:37)
self.fail("test")
使所有测试失败
我认为在类级别执行此操作的最简单方法是创建类变量,如:
@classmethod
def setUpClass(cls):
cls.flag = False
def setUp(self):
if self.flag:
self.fail("conditions not met")
希望这就是你想要的。
答案 1 :(得分:29)
使用简单的断言应该可以正常工作
assert False, "I mean for this to fail"