栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

unittext介绍与使用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

unittext介绍与使用

1.作用

用于单元测试(功能测试,类),用例的管理,用例的加载,用例的执行,测试报告的生成

2.组件

1.TestCose: 定义测试使用

2.TestSuite: 测试套件,用于管理测试用例

3. Test.runner: 运行测试用例
  1. TestLoader: 加载测试用例

  2. Fixture: 相当于钩子,用户测试用例执行前后进行执行

3.运行用例

1.导包

2.定义测试类,测试类必须继承unittext.TextCase; 测试用例就是方法, 方法名必须以text开头**

3.实例化测试套件: suite = unittext.TextSuite()

4.测试套件加载测试用例:

suite.addTest(模块名,类名(方法名)) ## 执行一条用例

suite.addTest(unittest.makeSuite(模块名,类名)) # 执行一个类或模块的用例

suite = unittest.TestLoader(),discover('路径','文件名+通配符')

  1. 运行测试套件 1. runner = unittest.TextTestRunner() 2. runner.run(suite)

操作步骤:

1.导包

2.创建测试类,写测试用例

3.加载用例

  1. 实例化一个测试套件用于加载测试用例, sutie = unittest.TestSuiite()

  2. 加载用例:

    三种加载方式

4.执行测试用例

1. 借助一个runner对藏,runner = unittest.TextTestRunner()
  1. runner对象调用run方法,传递测试套件(suite)[来执行

Fixtrue

定义: Fixtrue 是一个概述,对应该测试用例环境的初始化和销毁是一个Fixtrue 以开发的角度去理解,Fixtrue就像是 Flask框架中的钩子,特定的方法,在测试用例执行的前后进行执行

Fixtrue 存在控制级别,不同的戒备决定执行的作用范围和时机

    - 方法级别
    - 类级别
    - 模块级别

不同的方法级别

a方法级别(运行一次执行一次)

初始化(前置处理): def setUp(self) -->  首先自动执行
销毁(后置处理): def tearDOWN(self)  --> 最后自动执行
运行于测试方法的始末,即: 运行一次测试方法就会运行一次 setUp和 tearDown
​
        import unittest
        class mytest(unittest.Testcase)
            def setUp(self):
            print('setUp前置执行')
            
         def tearDown(self):
            print('tearDown后置执行')
            
         def test_1(self):
            print('test_1')
            
         def test_2(self):
            print('test_2')

b类方法级别(每个类执行一次)

初始化(前置处理): @classmethod def setUpClass(cls) -- 首先自动执行
销毁(后置处理): @classmethod def tearDownClass(cls) -- 最后后置执行
运行于测试类的始末: 即:  每个测试类只会执行一次 setUpClass和 tearDownClass
​
    import unittest
    
    class mytest(unittest.TestCase):
        @ classmethod
        def setUpClasss(cls):
            print('setUpClaass执行')
            
        @ classmethod
        def tearDownClasss(cls):
            print('tearDownClaass执行')
            
        def test_1(self):
                print('test_1')
                
            def test_2(self):
                print('test_2')

c类方法级别(每个模块执行一次)

初始化(前置处理): def setUpModule() -- > 首先自动执行
销毁(后置处理): def tearDownModule() -- > 最后后置执行
运行于整个模块的始末,即: 整个模块只会执行一次setUpModule和tearDoenModule

总结
  • 必须继承 unittest,TestCase类, setUp,tearDown才是一个Fixtrue

  • setUp,tearDown: 如果一个 类中有多个测试用例,每执行一个测试用例之前调用一次setUp,之后会调用一次tearDown;

  • setUpClass,tearDownClass:如果一个类中有多个测试用例,执行所有测试 用例之前只会调用一次 setUpClass,之后只会调用一次 tearDownClass;

  • setUpModule,tearDownModule:只在 import 导入这个模块时会调用一次 setUpModule,模块使用完成之后会调用一次 tearDownModule;

  • setUpXXX:一般做初始化工作;

  • tearDownXXX:一般做结束工作;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/317738.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号