我正在使用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
中的测试? 最佳答案
放入您的setUp实例方法中的self.fail("test")
无法通过所有测试
我认为在类级别执行此操作的最简单方法是使一个类变量如下所示:
@classmethod
def setUpClass(cls):
cls.flag = False
def setUp(self):
if self.flag:
self.fail("conditions not met")
希望这就是你想要的。
关于python - 如何在setUpClass中使python unittest失败?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14768135/