前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >unittest系统(六)如何在一个测试类多个测试用例执行中只初始化和清理一次?

unittest系统(六)如何在一个测试类多个测试用例执行中只初始化和清理一次?

作者头像
雷子
发布2021-03-15 10:51:56
1.8K0
发布2021-03-15 10:51:56
举报
文章被收录于专栏:雷子说测试开发

前言

之前分享了一系列的文章,分别从原理,运行,断言,执行,测试套件,如何跳过用例来讲解unittest,那么我们继续分享

正文

我们首先看下下面的代码

代码语言:javascript
复制
import  unittestclass TestDemo(unittest.TestCase):        def setUp(self):        print("start")    def tearDown(self):        print("end")    def testone(self):        self.assertEqual(1,1)        self.assertFalse(False)
    def testtwo(self):        self.assertEqual(1, 1)        self.assertFalse(False)if __name__=="__main__":    unittest.main()

我们执行下,看下结果

我们发现在初始化的时候呢,我们每次都会初始化,但是在实际的测试中呢,我们可能会是有些参数或者动作只需要做一次即可,那么我们只能在用例中初始化一次。那么unittest里面有没有这样的方法 呢?答案是肯定呢,

代码语言:javascript
复制
    @classmethod    def  setUpClass(cls):        pass
    @classmethod    def tearDownClass(cls):        pass

我们只需要在初始化一次的时候调用setUpClass和tearDownClass 即可。我们将这些代码带入到我们的测试用例中,看下效果会如何。

代码语言:javascript
复制
import  unittestclass TestDemo(unittest.TestCase):
    @classmethod    def  setUpClass(cls):        print("one start")
    @classmethod    def tearDownClass(cls):        print("one end")    def setUp(self):        print("start")    def tearDown(self):        print("end")    def testone(self):        self.assertEqual(1,1)        self.assertFalse(False)
    def testtwo(self):        self.assertEqual(1, 1)        self.assertFalse(False)if __name__=="__main__":    unittest.main()

我们执行下看下最后的效果

这样我们就实现了初始化一次,清理一次的需求。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雷子说测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档