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

自动化测试框架:带你了解unittest框架

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

自动化测试框架:带你了解unittest框架


Hello,最近感觉咱们的阁粉们对自动化测试框架非常感兴趣,所以九九姐也会开始多更新点关于自动化测试框架的内容。

今天呢,小编给大家讲一个python自带的单元测试框架,在工作中也会用到,大家可以拿出小本本记记。

这篇文章会从以下几个方面来讲unittest框架:

unittest介绍

unittest框架优点

unittest核心要素

unittest使用小案例

01 unittest框架介绍

首先呢,九九姐先给大家介绍一下unittest框架:

UnitTest是Python自带的一个单元测试框架,用它来做单元测试。

02 unittest框架优点
  1. 能够组织多个用例去执行(可以把多条测试用例封装成一个测试套件,实现批量执行测试用例)

  2. 提供了丰富的断言方法,方便对用例执行的结果进行判断

  3. 能够生成HTML格式的测试报告

03 unittest框架的核心要素

test case:

就是我们的测试用例,unittest中提供了一个基本类TestCase,可以用来创建新的测试用例,;unittest中测试用例方法都是以test开头的,且执行顺序会按照方法名的ASCII值排序。

test fixure:

测试夹具,用于测试用例环境的搭建和销毁。即用例测试前准备环境的搭建(SetUp前置条件),测试后环境的还原(TearDown后置条件),运行完后执行下一个用例前需要还原环境,以免影响下一条用例的测试结果。

test suite:

测试套件,用来把需要一起执行的测试用例集中放到一块执行,相当于一个篮子。还可以通过测试套件来设置我们测试用例执行的顺序。(因为默认是根据ASCII码来排顺序的,如果想要人为的设定顺序,就可以通过test suite.

test runner:

用来执行测试用例的,并返回测试用例的执行结果。它还可以用图形或者文本接口,把返回的测试结果更形象的展现出来,如:HTMLTestRunner。

04 unittest框架使用小案例

1、新建一个文件

# #!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Author : 九九
# @FileName: mathDemo.py
# @Software: PyCharm
#  unittest小案例
#  定义一个类,包含2个数字进行加法运算的方法
class Math:    
#  先定义初始化方法,如果是字符串类型,需要先转换成整数类型    
def __init__(self,a,b):
   self.a=int(a)
   self.b=int(b)   
# 定义一个方法,求2个数据的和 
   def add(self):  
      return self.a+self.b

2、开始写测试文件

# #!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Author : 九九
# @FileName: test_math.py
# @Software: PyCharm


from mathDemo import Math
import unittest

#  定义一个测试的类,继承unittest里面的testCase类
class TestMath(unittest.TestCase):
    #  用例执行前的一个运行条件
    def setUp(self):
        print("测试用例即将开始执行")
    #  定义测试用例
    def add_test(self):
        math=Math(1,2)
        #  通过生成的对象math调用相加的方法add()求和
        print("用例执行后的结果是:",math.add())
        #  利用断言去断送打印的结果,和预期结果是不是一致
        self.assertEqual(math.add(),1)

    #  定义用例后置条件
    def tearDown(self):
        print("用例执行结束")

if __name__=='__main__':
    #  测试套件
    suite=unittest.TestSuite()
    #  把需要执行的用例放到测试套件里面(装载测试用例)
    suite.addTest(TestMath("add_test"))

    #  运行测试用例
    runner=unittest.TextTestRunner()
    runner.run(suite)

上面的案例中可以看到,我们运用了unittest框架中的核心要素,包含了test case,test suite,test fixure以及test runner,这个案例比较简单,主要是带大家认识一下unittest框架,以及unittest几个核心要素的运用。

如果大家对这个框架感兴趣的,可以点一个赞,或者评论区留言,九九姐会根据大家的反馈了及时更新小伙伴们最关心的技术干货。

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

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

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

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