ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-07-31 20:32:57  阅读:118  来源: 互联网

标签:__ 初始化 unittest 测试用例 print self def


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

   我们首先看下下面的代码

import  unittest
class 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里面有没有这样的方法 呢?答案是肯定呢,

 @classmethod
    def  setUpClass(cls):
        pass

    @classmethod
    def tearDownClass(cls):
        pass

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

import  unittest
class 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()

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

 

 

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

欢迎关注我的个人公众号

标签:__,初始化,unittest,测试用例,print,self,def
来源: https://www.cnblogs.com/leiziv5/p/15085132.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有