unittest测试框架+ddt数据驱动

unittest测试框架

在编写接口自动化测试用例时,如果不采用unittest单元测试框架,那么就需要针对每一个接口创建一个.py文件,然后在其中将该接口的一个测试用例封装为一个函数,在批量执行的过程中,若有一条出错,则后面的测试用例无法执行。
为了更加方便的加载执行控制测试用例,python语言提供了unittest单元测试框架,测试用例编写在unittest框架下,可以使测试用例单个或者批量运行而互相不影响,从而更加灵活的管理。
数据驱动ddt可以实现测试数据与测试脚本的分离,通过ddt来将测试数据加载到脚本中。采用数据驱动设计模式使一组数据对应一个测试用例,用例自动加载生成。

四个核心组件

  1. TestCase:测试用例类。编写测试用例脚本时继承该类,测试用例方法都是以test开头
  2. TestSuite:测试用例集。
  3. testRunner:用来执行测试用例,并返回测试用例的执行结果,可以用图形或者文本将测试结果形象地展现出来,HTMLTestRunner用来生成图形化的报告,TextTestRunner用来生成简单的文本测试结果。
  4. testfixure:测试夹件。用于测试用例前置初始化以及执行后的销毁。

TestCase

  1. .py测试用例文件必须是以test开头的。用来识别测试用例文件编写测试用例的类,必须继承unittest.TestCase,做为测试类
  2. 测试类中用例的方法名称必须以test开头,用于识别测试用例数
  3. 测试类中的用例执行顺序,按照以test开头的方法后的Ascill码顺序执行(09,AZ,a~z)

Testfixure

  1. 测试夹具,主要是用例前置的初始化以及执行后的销毁
  2. 类级别:setup()和teardown()
  3. 方法级别:setUpClass() 和tearDownClass()
  4. 类级别,每一条测试用例执行之前与之后都要运行一次setup()和teardown();方法级别,所有测试用例执行之前到执行完成只运行一次setUpClass()和tearDownClass()

TestSuite

unittest框架下提供了unittest.TestSuite()和unittest.TestLoader()类,这两个类下封装了加载用例的方法,用于加载测试用例到测试集中
12. unittest.TestSuite()提供单个用例加载方法
addTest():单个用例加载,当然也可以将多个用例的方法名放入列表中添加到addTest()中,加载多条测试用例
13. unittest.TestLoader()提供批量加载或发现用例的方法
loadTestsFromTestCase(测试类名):添加一个测试类
loadTestsFromModule(模块名):添加一个模块
discover(测试用例的所在目录):指定目录去加载,会自动寻找这个目录下所有符合命名规则的测试用例

unittest.TestSuite()
addTest():添加单个测试用例方法
addTest([…]):添加多个测试用例方法,方法名存在一个列表
unittest.TestLoader()
loadTestsFromTestCase(测试类名):添加一个测试类
loadTestsFromModule(模块名):添加一个模块
discover(测试用例的所在目录):指定目录去加载,会自动寻找这个目录下所有符合命名规则的测试用例

testRunner

testrunner就是用来执行测试用例的,并且可以生成相应的测试报告。
测试报告有两种展示形式,一种是text文本,一种是html格式。
HTMLTestRunner是Python标准库的unittest框架的一个扩展,它可以生成一个直观清晰的HTML测试报告。使用的前提就是要下载HTMLTestRunner.py,下载完后放在python的安装目录下的Lib目录下即可。

assert

unittest提供了丰富的断言方法
在这里插入图片描述

impront

unittest由四大核心部分组成,分别是testcase、testsuite、testfixure、testrunner
对于testcase,通过一个基本类unittest.testcase来创建测试用例,有一个规则就是方法名称必须以test开头,用来识别测试用例数
对于testsuite,表示一个测试用例集,将需要执行的测试用例的类存放到一起来执行
对于testfixure,用于用例执行前的初始化以及执行后的销毁,有两种使用方式,一种是以测试方法为维度的setUp()和tearDown()
另一种是以测试类为维度的setupClass()和teardownClass()
对于testRunner,是用来执行测试用例,生成测试报告。将HTMLTestRunner放入python安装目录的scripts目录下,运行生成测试报告

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪敏wangmin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值