之前分享了一个系列文章,从原理、操作、断言、执行、测试套件讲解unittest,还有如何跳过用例,所以继续分享先看下面代码importunittestclassTestDemo(unittest.TestCase):defsetUp(self):print("start")deftearDown(self):print("end")deftestone(self):self.assertEqual(1,1)self.assertFalse(False)deftesttwo(self)):self.assertEqual(1,1)self.assertFalse(False)if__name__=="__main__":unittest.main()执行一下,看看结果。我们发现我们在初始化的时候,每次都会初始化。但是在实际测试中,我们可能会有一些参数或者动作只需要做一次,那么在用例中我们就可以只初始化一次。那么unittest中有这样的方法吗?答案是肯定的,@classmethoddefsetUpClass(cls):pass@classmethoddeftearDownClass(cls):pass我们只需要在初始化的时候调用一次setUpClass和tearDownClass。让我们将这段代码放入我们的测试用例中,看看它是如何工作的。importunittestclassTestDemo(unittest.TestCase):@classmethoddefsetUpClass(cls):print("onestart")@classmethoddeftearDownClass(cls):print("oneend")defsetUp(self):print("start")deftearDown(self):print("end")deftestone(self):self.assertEqual(1,1)self.assertFalse(False)deftesttwo(self):self.assertEqual(1,1)self.assertFalse(False)if__name__=="__main__":unittest.main()我们执行一下,看看最终效果。这样我们就实现了一次初始化,一次清理的需求。欢迎关注我的个人主页公众号
