Hello,最近感觉咱们的阁粉们对自动化测试框架非常感兴趣,所以九九姐也会开始多更新点关于自动化测试框架的内容。
今天呢,小编给大家讲一个python自带的单元测试框架,在工作中也会用到,大家可以拿出小本本记记。
这篇文章会从以下几个方面来讲unittest框架:
unittest介绍
unittest框架优点
unittest核心要素
unittest使用小案例
01 unittest框架介绍首先呢,九九姐先给大家介绍一下unittest框架:
UnitTest是Python自带的一个单元测试框架,用它来做单元测试。
02 unittest框架优点-
能够组织多个用例去执行(可以把多条测试用例封装成一个测试套件,实现批量执行测试用例)
-
提供了丰富的断言方法,方便对用例执行的结果进行判断
-
能够生成HTML格式的测试报告
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就知足了…
面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…
什么样的人适合从事软件测试工作?
那个准点下班的人,比我先升职了…
测试岗反复跳槽,跳着跳着就跳没了…



