单元测试框架之unittest详解

1.unittest简介

unittest是python自带的单元测试框架,不仅仅适用于单元测试,还可用于web端、appium、接口自动化测试用例的开发与执行。

 

2.unittest四大核心组件

1)TestCase: 测试用例类,用来定义用例函数

2)TestSuite: 测试套件,用于收集测试用例

3)TestRunner:测试用例运行类,用来执行测试用例,以测试套件为维度去执行

4)TestFixture:测试脚手架(前置和后置),前置放条件,后置进行清理工作

 

3.测试流程

1)先定义测试用例类,在测试用例类中写测试方法

2) 定义测试套件,收集测试用例类或文件中的测试方法,放到测试套件中

3)定义用例运行器,将收集好的测试套件放到用例运行器中执行,并收集测试结果

4)做好前置和后置

 

4.如何编写测试用例

1)导入unittest模块

d3e685bb8cab4f97a20692e6c2340d6e.png

 2)定义一个测试用例类:类名必须以Test开头,并继承unittest.TestCase

781d600ce72a42f9a2bf078c2e1ee82b.png

 3)添加setUp()、tearDown()函数,即测试夹具

097ffaca2fa645c28d3cff5ad8a9f605.png

 4)定义测试方法:测试方法必须test开头,必须写在测试用例类里面

1d3dfaf3a273406ea7502e321c67da12.png

 5) 框架执行入口 main方法: unittest.main(),会自动收集当前py文件的测试用例,然后执行

e2695eff2b70407589b71b0707db8a87.png

 

5.测试用例的内容

1)前置条件(如果没有可以不写),如:sql语句执行、数据库创建、工具类的实例化等

2)测试步骤(业务逻辑),数据替换、数据驱动等

3)测试结果断言,包括:相应结果断言、数据库数据断言

4)后置条件(如果没有可以不写),如:数据清理、数据库连接关闭等

 

 6.前置和后置(测试夹具)

1)函数级别

setUp():前置,每个用例函数执行前,执行一次

tearDown():后置,每个用例函数执行后,执行一次

就像夹心饼干一样,前置后置相当于两片夹奶油的饼干,中间夹的奶油就相当于用例

代码示例:

de1a871ca30f43efb7d6d757b6a0e9d5.png

 运行结果:

59e74a302dc8483a895be4c0c35801dc.png

2)类级别

setUpClass(cls):前置,当前用例类中所有测试用例执行前,执行一次

tearDownClass(cls):后置,当前用例类中所有测试用例执行后,执行一次

代码示例:

e3ea43a300984c09a3b97f1f8d150d76.png

运行结果:

080916aef7a241e3ac4e879e1da734d5.png

 

 7.用例的收集方式

1)以为测试用例为维度

85a8da8fce8248159f600ac38b81bd12.png

2)以测试类为维度

0412b6264cf6413eb8b1de186a090ee5.png

 3)以模块为维度

83826984ee13460b8daa9ccbb6ac0e31.png

 

 

 

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值